I have an urbanairship account set up to send push notifications to my app. This is all working, but now I'm trying to integrate it with my codeigniter admin site so that push notifications are sent by UA and stored to a database in one step. I'm trying to use the cURL library and following the UA API documentation,(http://urbanairship.com/docs/push.html), but each time I get a 404 error. However if I take the cURL lines out, the data is added to …
我正在寻找一种方法来同步用户之间存储在数据库中的项目,这样任何用户都可以通过手机更改任何内容,更改将反映在数据库和SYNC中,所有用户实时与他相关的最佳方式是什么实现实时同步?推送通知 ?是我正在寻找的Urban飞艇吗?
我正在为iOS和Android创建一个PhoneGap应用程序.我已经让Android工作得很好,但是在iOS中从开发转换到生产时遇到了麻烦.没有为具有生产adHoc构建的设备注册设备令牌.我已经筋疲力尽了我能想到的每一件事.这是我到目前为止所做的:
当我第一次在设备上运行应用程序时,所有内容都完全重做.这是我在控制台中得到的:
Mon Sep 17 12:48:00 unknown XXXXXXXXX[5039] Warning: Multi-tasking - Device: NO, App: YES
Mon Sep 17 12:48:05 unknown XXXXXXXXX[5039] Warning: Reachability Flag Status: -R -----l- networkStatusForFlags
Mon Sep 17 12:48:06 unknown XXXXXXXXX[5039] Warning: [M] = -[UAPush updateRegistration] [Line 583] Checking registration state
Mon Sep 17 12:48:06 unknown XXXXXXXXX[5039] Warning: [M] = -[UAUser listenForDeviceTokenReg] [Line 969] ListenForDeviceTokenReg
Mon Sep 17 12:48:06 unknown XXXXXXXXX[5039] Warning: [M] = -[UAUser retrieveRequestSucceeded:] [Line 911] …
Run Code Online (Sandbox Code Playgroud) apple-push-notifications urbanairship.com ios phonegap-plugins cordova
我正在尝试使用具有Helium选项的城市飞艇为Android应用设置推送通知.但是,我需要为我的应用找到这些信息,我不知道从哪里找到.任何意见或建议将不胜感激.谢谢!
For setting up Helium, make sure your transport is set correctly. Valid answers for transport are: helium or c2dm. The following should go in the assets/airshipconfig.properties of your project.
transport = helium
developmentAppKey = Your Development App Key
developmentAppSecret = Your Development App Secret
productionAppKey = Your Production App Key
productionAppSecret = Your Production App Secret
inProduction = false
Run Code Online (Sandbox Code Playgroud) 我确实收到了推送消息,但每当我在通知栏中点击它们时,这个logcat就出现了,通知消失了......
这是我的logcat输出:
05-31 16:49:47.165: D/Test - UALib(20523): No intent receiver set, not sending ACTION_NOTIFICATION_OPENED
Run Code Online (Sandbox Code Playgroud)
这是我的明显结构:
<category android:name="com.test.push" />
</intent-filter>
</receiver>
<service
android:name="com.urbanairship.push.PushService"
android:label="Push Notification Service" />
<service
android:name="com.urbanairship.push.PushWorkerService"
android:label="Push Notification Worker Service" />
<service
android:name="com.urbanairship.analytics.EventService"
android:label="Event Service" />
<provider
android:name="com.urbanairship.UrbanAirshipProvider"
android:authorities="com.test.push.urbanairship.provider"
android:exported="false"
android:multiprocess="true" />
<activity
android:name="com.test.push.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="com.test.push.SettingsActivity"
android:label="@string/title_activity_settings" />
<activity
android:name="com.test.push.ChooseClass"
android:label="@string/app_name" />
</application>
Run Code Online (Sandbox Code Playgroud)
这是我的MyApplication.java:
public class MyApplication extends Application {
@Override
public void onCreate() {
AirshipConfigOptions options …
Run Code Online (Sandbox Code Playgroud) 我们目前正在实施推送通知(目前仅适用于IOS),我们正计划使用Urban Airship.如果他们安装了我们的应用并启用了推送,我们希望向设备发送推送消息,如果没有,则发送短信.我们的用户为通知付费,因此我们希望尽可能确保他们始终获得推送消息或短信.发送推送消息本身工作正常,但我很困惑如何跟踪我们实际上可以发送推送消息的人.
据我所知,真正确定用户是否可以接收推送消息的唯一方法是,在发送推送消息之前,另外调用城市飞艇api以检查设备是否存在且处于活动状态.我宁愿不为每个推送消息做2个api呼叫,因此可以选择在本地跟踪城市飞艇中的所有已注册设备,并且每小时左右更新一次该列表.然而,这意味着"有源设备列表"并不总是完全准确,我们必须自己跟踪所有已注册的设备,这就像重新实现城市飞艇的一部分一样.
有没有其他(更好)的方法来做到这一点?据我所知,当我向城市飞艇发送推送消息时,无论设备是否处于活动状态,或者是否存在,api始终会返回成功发送的消息.
我无法想象我是唯一有这个问题的人.有没有人有更好的解决方法,或者我坚持自己想出的2个选项?
我已将Airship(来自UrbanAirship)目录添加到我的iPhone/iPad应用程序的xcode项目中.在我的"构建设置>搜索路径>标题搜索路径"和"构建设置>搜索路径>库搜索路径"中,我以递归方式指向这些目录.我还将libuairship-1.2.1.a文件3包含在所需的frameowrks/libraries中.
当我进入我的appdelegate.m和appdelegate.h时,一旦我输入#import "UA"
,它就会自动填充给我#import "UAirship.h"
.所以我认为这很好,因为我猜它意味着它知道文件存在!
但是当我进行构建时,Xcode会抱怨文件UAirship.h不能用.我尝试输入#import"directoryname/UAirship.h",但它仍然无法找到它.
我该如何解决这个问题?
我想在应用处于活动状态时忽略推送通知.我正在处理通知如下:
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
{
if (application.applicationState != UIApplicationStateActive)
{
[[PushHelper shared] processPush: userInfo];
}
}
Run Code Online (Sandbox Code Playgroud)
但是当应用程序处于活动状态且设备收到推送通知时,将显示带有通知消息的UIAlertView.如何禁用UA的默认处理?
我已经开始负责将推送通知功能添加到phonegap项目中.iOS中的东西运作顺利,但Android造成了一些麻烦.问题似乎是应用程序包/包名称是com.phonegap.helloworld.Urbanairship不喜欢"重复包名",它在xcode中很容易改变,但在android方面却不那么容易改变.
我尝试了这个问题的接受答案:将包名更改为现有的Phonegap项目,即我更改了platforms/android/AndroidManifest.xml中的'package'字段,然后重构了目录结构以反映这个新包.然而,当我构建Android应用程序时,我想要反映包名称更改的旧目录重新出现.AndroidManifest.xml文件也被更改,以便'package'字段回到com.phonegap.helloworld.
所以我很困惑 - 如何更改包名?
我是Android Studio的新手,我想在我的一个项目中实现Urban Airship.我在他们的网站上使用.aar文件跟踪了示例,我最终得到了这个错误.
Error: [/Users/AndroidstudioProjects/MyApplication/app/build/intermediates/exploded-aar/com.urbanairship/urbanairship-lib/5.1.0/AndroidManifest.xml:8]
Invalid instruction 'overrideLibrary', valid instructions are : REMOVE,REPLACE,STRICT
Run Code Online (Sandbox Code Playgroud)
如果我错了,请纠正我,但这是否意味着他们的清单文件中存在问题?还是我完全是蓝色的?如果是这样,有没有人有一个如何实现它的好例子?
android android-manifest urbanairship.com android-studio aar
urbanairship.com ×10
android ×5
ios ×3
cordova ×2
aar ×1
codeigniter ×1
curl ×1
iphone ×1
xcode ×1