推送注冊
在AppDelegate里進行SDK初始化(也可以在Info.plist文件中進行AppKey,AppSecret的配置)并對通知功能進行注冊以及設置推送的環境和切換海外服務器等,參考如下步驟代碼:
<span style="background-color:#42475a"><span style="color:#a9b7c6"><code><span style="color:#bbb529">#import <MobPush/MobPush.h></span>
<span style="color:#bbb529">#import <MOBFoundation/MOBFoundation.h></span>
- (BOOL)application:(UIApplication \*)application didFinishLaunchingWithOptions:(NSDictionary \*)launchOptions{<span style="color:grey">//1.初始化SDK</span>[MobSDK registerAppKey:<span style="color:#6a8759">@"2e76e2e95a7ad"</span> appSecret:<span style="color:#6a8759">@"e83de04bc9d850784ca01b5fcfbc886e"</span>];<span style="color:grey">//2.上傳隱私狀態</span>[MobSDK uploadPrivacyPermissionStatus:<span style="color:#6897bb">YES</span> onResult:^(**BOOL** success) {}];<span style="color:grey">//3.設置推送環境 如果為開發狀態設置為 NO; 如果為生產狀態,應改為 YES</span>[MobPush setAPNsForProduction:<span style="color:#6897bb">NO</span>];<span style="color:grey">//4.設置地區:regionId 默認0(國內),1:海外</span>[MobPush setRegionID:<span style="color:#6897bb">1</span>];<span style="color:grey">//5.MobPush推送設置(獲得角標、聲音、彈框提醒權限)</span>MPushNotificationConfiguration *configuration = [[MPushNotificationConfiguration alloc] init];configuration.types = MPushAuthorizationOptionsBadge | MPushAuthorizationOptionsSound | MPushAuthorizationOptionsAlert;[MobPushsetupNotification:configuration];}
</code></span></span>
添加推送監聽
同時可以在AppDelegate里注冊監聽,可以監聽到推送消息的到達和點擊,參考代碼如下:
<span style="background-color:#42475a"><span style="color:#a9b7c6"><code><span style="color:#cc7832">-</span> (BOOL)<span style="color:#cc7832">application</span>:(UIApplication \*)<span style="color:#cc7832">application</span> <span style="color:#cc7832">didFinishLaunchingWithOptions</span>:(NSDictionary \*)<span style="color:#cc7832">launchOptions</span>{[[NSNotificationCenter defaultCenter] <span style="color:#cc7832">addObserver</span>:self <span style="color:#cc7832">selector</span>:@<span style="color:#cc7832">selector</span>(<span style="color:#6a8759">didReceiveMessage</span>:) <span style="color:#cc7832">name</span>:MobPushDidReceiveMessageNotification <span style="color:#cc7832">object</span>:nil];}
</code></span></span>
接收回調處理
在回調中處理接收到的MobPush的通知監聽,需要注意如果應用處于后臺或者殺死,是不會走APNS回調的,需要點擊通知消息才能觸發被點擊的回調,參考代碼如下:
// 收到通知回調
<span style="background-color:#42475a"><span style="color:#a9b7c6"><code>- (<span style="color:#cc7832">void</span>)didReceiveMessage:(NSNotification *)notification{MPushMessage *message = notification.object;<span style="color:grey">// 推送相關參數獲取示例請在各場景回調中對參數進行處理</span>
<span style="color:grey">// NSString *body = message.notification.body;</span><span style="color:grey">// NSString *title = message.notification.title;</span>
<span style="color:grey">// NSString *subtitle = message.notification.subTitle;</span>
<span style="color:grey">// NSInteger badge = message.notification.badge;</span>
<span style="color:grey">// NSString *sound = message.notification.sound;</span>
<span style="color:grey">// NSLog(@"收到通知:{\nbody:%@,\ntitle:%@,\nsubtitle:%@,\nbadge:%ld,\nsound:%@,\n}",body, title, subtitle, (long)badge, sound);</span>
<span style="color:#cc7832">switch</span> (message.messageType)
{
<span style="color:#cc7832">case</span> MPushMessageTypeCustom:
{<span style="color:grey">// 自定義消息回調</span>
}
<span style="color:#cc7832">break</span>;
<span style="color:#cc7832">case</span> MPushMessageTypeAPNs:
{<span style="color:grey">// APNs回調</span>
}
<span style="color:#cc7832">break</span>;
<span style="color:#cc7832">case</span> MPushMessageTypeLocal:
{<span style="color:grey">// 本地通知回調</span>}
<span style="color:#cc7832">break</span>;
<span style="color:#cc7832">case</span> MPushMessageTypeClicked:
{<span style="color:grey">// 點擊通知回調</span>}
<span style="color:#cc7832">default</span>:
<span style="color:#cc7832">break</span>;
}
</code></span></span>
注意:海外推送與國內推送SDK是一樣的,不區分SDK版本,需要注意的是海外需要增加以下接口切換到海外服務器,另外目前4.x版本只支持APNS廠商通道推海外,TCP通道不支持。
<span style="background-color:#42475a"><span style="color:#a9b7c6"><code><span style="color:#ffc66d">[MobPush setRegionID:1]</span><span style="color:grey">;</span>
</code></span></span>
使用開發者后臺進行推送
登陸我們的后臺,然后打開已注冊的應用,添加?MobPush?產品之后,進行iOS設置,上傳證書,Bundle id等信息,如下圖:
然后?切換海外版?在?點擊同步國內配置到海外版?,將信息同步到海外,如下
最后點擊?創建推送?進行推送
注意:選擇的推送環境需要和代碼里設置的推送環境,安裝的包的環境,這3處的環境必須要一致。
使用API接口進行推送
接口:http://abroad.api.push.mob.com/v3/push/createPush
具體的傳參可以參考國內接口傳參:參考這里
可以使用Postman測試,例如:
注:?API接口里的?iosProduction?參數是設置推送環境參數,與客戶端代碼設置的推送環境以及安裝的包的環境一致。另推送可以選擇在開發者后臺進行推送或者是調用API接口進行推送,任選其一即可。