小米应用商店:收不到推送消息?

2015-11-30 17:13:42 |发布者: 安智宝

收不到推送消息?活跃用户

1.请检查以下几点开发者网站是否启用推送服务,并成功上传证书

1)用Appsecret自行推送的,请确认此secret是否为iOS版本,

2)工程里面plist中MiSDKRun环境参数是否设置妥当。debug为测试环境,online为线上环境

3)必须真机调试,IPA的profile是否与push证书匹配。

4)代码中监听MiPushSDKDelegate,看注册与绑定token是否正常,alias,topic是否设置成功

2. 接入时碰到如下提示

Error is Error Domain=NSCocoaErrorDomain Code=3000 "未找到应用程序的“aps-environment”的授权字符串"

UserInfo=0x17dbf200 {NSLocalizedDescription=未找到应用程序的“aps-environment”的授权字符串}

检查事项 同1    用户留存率

3. 常见返回错误

1)调用SDK + (void)unregisterMiPush; 执行注销操作后,在执行其他方法就会导致报错-101

2)你的程序清除本地数据。NSUserDefaults导致本地保存的regID等丢失。就会导致报错-101

3)解决方法:当回调返回-101时,根据你程序需要,可以重新调用+ (void)registerMiPush

4)code=10017; reason=’invalid package name’ 小米开发者网站 注册的bundleID 跟 你ipa的bundleID    app推广考核

不是同一个

4. 脚标或通知栏无法清除?

清除方法:

[[UIApplication sharedApplication] setApplicationIconBadgeNumber:0];

如果无效请尝试,原因是,在推送时badge设置为0,这样你在app中再次设置就会失效

[[UIApplication sharedApplication] setApplicationIconBadgeNumber:1];

[[UIApplication sharedApplication] setApplicationIconBadgeNumber:0];

5. SetAlias Subscribe为什么有时成功,有时失败?

SDK中方法为异步操作,setAlias: subscribe:等操作必须在bindDeviceToken:返回成功后再调用。

因为bindDeviceToken成功请求后服务器才会分配账号给设备。如果setAlias操作在它前面执行,会找不到对应设备。联想win8应用商店

6. 接收到推送之后 如何取得里面的数据?

当App在后台,通过下面方法

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo

当新App的时候,通过下面方法

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

7. registerMiPush 在没有网络下调用,为什么还会返回成功?

SDK中会检查,如果此操作已经完成过,就不会重复请求服务器。

8. Topic 最多可以设置多少个,支持汉字吗?

一个设备最多可以设置300个, 支持汉字。

9. 如何使用 iOS7 Background Remote Notification (消息透传)

App在后台,收到消息后,会在后台运行一段代码。并不会提示用户。比如,App内容升级,Email更新,订阅内容等等

在server端发送消息时extra加入content-available字段。同时xcode工程下激活BackgroundModes-Remote notifications。

10. 为什么要使用长连接

在App运行时 ,APNs会提示用户是否接收消息,很多时候,用户会禁止此功能。导致,推送消息无法送达到用户手机。所以使用长连接功能,可以在App运行时,获取消息推送。小米应用商店

11. 在现有版本MiPushSDK下,如何快速使用应用内长连接

操作步骤:

1. 添加libMiPushSDK.a , MiPushSDK.h 到工程

2. 引入库:libresolv.dylib, libxml2.dylib, libz.dylib, SystemConfiguration.framework,MobileCoreServices.framework,CFNetwork.framework,CoreTelephony.framework (如果已经引入,请忽略)

3. 加入如下代码, 启动长连接

+ (void)registerMiPush:(id<MiPushSDKDelegate>)delegate type:(UIRemoteNotificationType)type connect:(BOOL)connect;

4. 加入收到消息回调,当客户端收到MiPush推送时,此方法会被调用到,data格式同 application:didReceiveRemoteNotification:

- (void)miPushReceiveNotification:(NSDictionary*)data;

5. 去掉原有处理通知逻辑,使用下面代替

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo

{

[MiPushSDK handleReceiveRemoteNotification:userInfo];

}


联系客服

Copyright © 2016 - 2020 anzhibao.com . All Right Reserved.

安智宝  版权所有