使用極光推送的注冊(cè)方法registerForRemoteNotificationConfig注冊(cè)通知 - 前臺(tái)push
1、iOS 10之前系統(tǒng)的手機(jī)則只執(zhí)行系統(tǒng)方法:
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo粘驰。
2烤黍、iOS 10以后系統(tǒng)的手機(jī)
1)在使用Xcode跑代碼會(huì)執(zhí)行一次極光推送代理方法
- (void)jpushNotificationCenter:(UNUserNotificationCenter *)center willPresentNotification:(UNNotification *)notification withCompletionHandler:(void (^)(NSInteger))completionHandler漠吻。
和系統(tǒng)代理方法
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
2)打包則只執(zhí)行
//MARK: iOS10新增:處理前臺(tái)收到通知的代理方法 在程序內(nèi)
- (void)jpushNotificationCenter:(UNUserNotificationCenter *)center willPresentNotification:(UNNotification *)notification withCompletionHandler:(void (^)(NSInteger))completionHandler。
后臺(tái)同理打毛。
傳遞參數(shù)
通知內(nèi)容類似如下:
{
"_j_msgid" = 200806057; // 第三方附帶的 id柿赊,用于統(tǒng)計(jì)點(diǎn)擊
aps = {
alert = "顯示內(nèi)容";
badge = 1; // App 角標(biāo)俩功,可推送 n、+n碰声、-n 來(lái)實(shí)現(xiàn)角標(biāo)的固定诡蜓、增加、減少
sound = default; // 推送聲音胰挑,默認(rèn)系統(tǒng)三全音蔓罚,如需使用自己的聲音,需要將聲音文件拖拽&拷貝至 Xcode 工程目錄任意位置瞻颂,并在推送時(shí)指定其文件名
};
key1 = value1; // 自定義字段豺谈,可設(shè)置多組,用于處理內(nèi)部邏輯
key2 = value2;
}
1贡这、前臺(tái):
收到push會(huì)立即走didReceiveRemoteNotification方法(做處理)
2茬末、后臺(tái)
開啟后臺(tái)模式 - Remote Notification 收到push調(diào)用回調(diào)didReceiveRemoteNotification:fetchCompletionHandler:方法
3、殺死
正常消息
各種顯示效果跟普通推送完全一樣藕坯。
必須攜帶 "content-available" = 1;
必須攜帶 alert团南、badge、sound 中 至少 1 個(gè)字段炼彪。
靜默消息
必須攜帶 "content-available" = 1;吐根,因此靜默必然是后臺(tái)的。
必須不攜帶 alert辐马、badge拷橘、sound。