一、業(yè)務(wù)介紹
1.1 產(chǎn)品簡介
個推是商用級的移動應(yīng)用消息推送云服務(wù)供應(yīng)商,客戶端 SDK 支持 Android 和 iOS 兩大平臺,開發(fā)者集成 SDK 后,可以通過個推強大的 web 端及豐富的 API 開放接口,發(fā)送推送消息、統(tǒng)計分析推送效果。可有效提高 App 活躍度,增加用戶留存率。
1.2 名詞解釋
1.3 消息推送流程
二、應(yīng)用創(chuàng)建
如果您還沒有個推 賬號,可在 個推官網(wǎng) ,完成賬號注冊。
如果您還沒有個推 應(yīng)用,可參考 開發(fā)者中心使用說明 中的【新增服務(wù)】,完成 消息推送 應(yīng)用創(chuàng)建。
三、客戶端 SDK 集成
若您需要在手機設(shè)備上使用個推消息推送服務(wù),必須先完成客戶端 SDK 集成。
3.1 Android
Android 個推主包:個推為 Android 應(yīng)用提供的安全穩(wěn)定的推送 SDK,集成主包后僅可以使用 “在線推送”。
Android 多廠商包:個推與主流安卓廠商合作融合了廠商推送 SDK,在個推開發(fā)者中心后臺配置多廠商參數(shù)、并集成多廠商包后,可以同時使用 “離線推送”,能提高在安卓廠商設(shè)備上的消息到達率。
廠商消息報表補全:由于個推透傳無展示數(shù)返回,華為、榮耀、OPPO 、vivo 無完整離線點擊數(shù)報表返回,為了方便您在個推后臺可以看到更加完整的推送數(shù)據(jù)統(tǒng)計,建議您在客戶端埋點上報補全。
3.2 iOS
iOS 個推主包:個推為 iOS 應(yīng)用提供的安全穩(wěn)定的推送 SDK,集成主包后僅可以使用 “在線推送”。
iOS 推送證書:iOS 支持的推送通知功能,從蘋果開發(fā)者官網(wǎng)導(dǎo)出證書并配置在個推開發(fā)者中心后臺后,可以同時使用 “離線推送”,能提高在 iOS 設(shè)備上的消息到達率。
四、服務(wù)端推送
開發(fā)者可通過調(diào)用 服務(wù)端 RestAPI V2 或者登錄 個推開發(fā)者中心 從頁面下發(fā)消息。(若您想對單個 cid 用戶進行推送,cid 必須先從客戶端獲取 )
4.1 服務(wù)端消息下發(fā)流程(必讀)
當(dāng) CID 在線(即 app 在前臺打開運行)時:
消息通過個推通道下發(fā)到客戶端。
具體到服務(wù)端 RestAPI-V2 代碼中,即 push_message 中的 notification(通知) 或 transmission(透傳) 內(nèi)容傳遞給客戶端。
注意:iOS 系統(tǒng)不展示個推在線通知消息,所以推送用戶是 iOS 時,push_message 內(nèi)只能使用 transmission,iOS 客戶端在線接收時自己做通知欄展示。
當(dāng) CID 離線(即 app 在后臺、鎖屏、進程關(guān)閉)時:
有開啟對應(yīng)廠商離線功能的,消息將通過個推側(cè)請求對應(yīng)廠商側(cè)的服務(wù)端。
具體到服務(wù)端 RestAPI-V2 代碼中,即 push_channel 中的通知內(nèi)容傳遞給廠商,實際的消息是經(jīng)由廠商服務(wù)器下發(fā)至客戶端;對于沒有開啟對應(yīng)廠商功能的,消息將存在個推的離線庫中,等待 CID 在線,再通過個推通道下發(fā)到客戶端。
注意:若服務(wù)端 push_channel 不傳值,則無法接收離線消息。
4.2 開發(fā)者中心后臺
登錄 個推開發(fā)者中心,進入個推消息推送 dos 頁面,可通過以下 2 種方式【創(chuàng)建推送】。
https://dev.getui.com/
注冊完成之后進入消息推送服務(wù):
新建一個測試app,建完之后在我的——>應(yīng)用管理里面可以獲得app的信息:
這里面的信息等下在服務(wù)端調(diào)用的時候會用得到,有興趣的小伙伴可以將服務(wù)端sdk的demo下載下來,很有研究價值哦。
4.3 推送代碼
其他詳細的以及客戶端的只是我就不補充了,在個推官網(wǎng)文檔中都有很好的解釋及說明。
https://docs.getui.com/getui/server/rest_v2/service_sdk/
加入依賴:
<dependency>
<groupId>com.getui.push</groupId>
<artifactId>restful-sdk</artifactId>
<version>1.0.0.1</version>
</dependency>
GtApiConfiguration apiConfiguration = new GtApiConfiguration();
//填寫應(yīng)用配置
apiConfiguration.setAppId("-----");
apiConfiguration.setAppKey("-----");
apiConfiguration.setMasterSecret("-----");
// 接口調(diào)用前綴,請查看文檔: 接口調(diào)用規(guī)范 -> 接口前綴, 可不填寫appId
apiConfiguration.setDomain("https://restapi.getui.com/v2/");
// 實例化ApiHelper對象,用于創(chuàng)建接口對象
ApiHelper apiHelper = ApiHelper.build(apiConfiguration);
// 創(chuàng)建對象,建議復(fù)用。目前有PushApi、StatisticApi、UserApi
PushApi pushApi = apiHelper.creatApi(PushApi.class);
//推送
//根據(jù)cid進行單推
PushDTO<Audience> pushDTO = new PushDTO<Audience>();
// 設(shè)置推送參數(shù)
pushDTO.setRequestId(System.currentTimeMillis() + "");
PushMessage pushMessage = new PushMessage();
pushDTO.setPushMessage(pushMessage);
GTNotification notification = new GTNotification();
pushMessage.setNotification(notification);
notification.setTitle("測試標題" + new Date());
notification.setBody("哈哈哈");
notification.setClickType("url");
notification.setUrl("https://www.getui.com");
// 設(shè)置接收人信息
Audience audience = new Audience();
pushDTO.setAudience(audience);
audience.addCid("77b5b288038f1a418d071-----------");
// 進行cid單推
ApiResult<Map<String, Map<String, String>>> apiResult = pushApi.pushToSingleByCid(pushDTO);
if (apiResult.isSuccess()) {
// success
System.out.println(apiResult.getData());
} else {
// failed
System.out.println("code:" + apiResult.getCode() + ", msg: " + apiResult.getMsg());
}
測試結(jié)果:
五、參數(shù)說明
https://docs.getui.com/getui/server/rest_v2/common_args/文章來源:http://www.zghlxwxcb.cn/news/detail-441213.html
等等,可以下載官方sdk項目查看文章來源地址http://www.zghlxwxcb.cn/news/detail-441213.html
到了這里,關(guān)于Android,ios,安卓app推送消息通知,java后臺向手機推送app的通知教程的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!