信鴿推送集成華爲渠道通知補充適用於小米魅族oppovivo

信鴿推送集成華爲渠道通知乾貨
如何設置消息點擊事件

TPNS 推薦使用 Intent 方式進行跳轉(注:SDK 點擊消息默認支持點擊事件,觸發後打開主界面,如果在 onNotifactionClickedResult 設置跳轉操作會與管理臺/API中指定的自定義跳轉衝突,導致自定義的跳轉失效)。
使用 Intent 方式跳轉指引:
在客戶端 App 的 manifest 上,配置需要跳轉的頁面:

如要跳轉 AboutActivity 指定頁面,示例代碼如下:

<activity
android:name="com.qq.xg.AboutActivity"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen" >
<intent-filter >
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT"/>
<data android:scheme="xgscheme"
android:host="com.xg.push"
android:path="/notify_detail" />
</intent-filter>
</activity>```


若使用服務端 SDK ,設置 Intent 進行跳轉,可設置 Intent 爲(以 Java SDK 爲例):

action.setIntent("xgscheme://com.xg.push/notify_detail");

若需要帶上 param1 和 param2 等參數,您可以做如下設置:

action.setIntent("xgscheme://com.xg.push/notify_detail?param1=aa&param2=bb");

在您跳轉指定的頁面 onCreate 方法裏,添加如下代碼:

Uri uri = getIntent().getData();
 if (uri != null) {                
String url = uri.toString();
String p1= uri.getQueryParameter("param1");
String p2= uri.getQueryParameter("param2");
}

如果傳參包含有特殊字符,如 # 、& 等,可以參考使用如下方式解析:

Uri uri = getIntent().getData();
 if (uri != null) {                
String url = uri.toString();
UrlQuerySanitizer sanitizer = new UrlQuerySanitizer();
sanitizer.setUnregisteredParameterValueSanitizer(UrlQuerySanitizer.getAllButNulLegal());
sanitizer.parseUrl(url);
String value1 = sanitizer.getValue("key1");
String value2 = sanitizer.getValue("key2");
Log.i("XG" , "value1 = " + value1 + " value2 = " + value2);
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章