日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

移動應(yīng)用推送SDK

阿里移動推送(Alibaba Cloud Mobile Push)是基于大數(shù)據(jù)的移動智能推送服務(wù),幫助App快速集成移動推送的功能。在實現(xiàn)高效、精確、實時的移動推送的同時,降低了開發(fā)成本并提高了用戶活躍度和應(yīng)用的留存率。

初始化

初始化的操作請參見SDK初始化

使用方法

  1. 在應(yīng)用中注冊和啟動移動推送。該操作封裝在SDK初始化中,無需額外操作。

  2. 創(chuàng)建消息接收Receiver,繼承自com.alibaba.sdk.android.push.MessageReceiver,并在對應(yīng)回調(diào)中添加業(yè)務(wù)處理邏輯,參照以下代碼執(zhí)行。

    public class MyMessageReceiver extends MessageReceiver {
        // 消息接收部分的LOG_TAG
        public static final String REC_TAG = "receiver";
        @Override
        public void onNotification(Context context, String title, String summary, Map<String, String> extraMap) {
            // TODO 處理推送通知
            Log.e("MyMessageReceiver", "Receive notification, title: " + title + ", summary: " + summary + ", extraMap: " + extraMap);
        }
        @Override
        public void onMessage(Context context, CPushMessage cPushMessage) {
                Log.e("MyMessageReceiver", "onMessage, messageId: " + cPushMessage.getMessageId() + ", title: " + cPushMessage.getTitle() + ", content:" + cPushMessage.getContent());
        }
        @Override
        public void onNotificationOpened(Context context, String title, String summary, String extraMap) {
            Log.e("MyMessageReceiver", "onNotificationOpened, title: " + title + ", summary: " + summary + ", extraMap:" + extraMap);
        }
        @Override
        protected void onNotificationClickedWithNoAction(Context context, String title, String summary, String extraMap) {
            Log.e("MyMessageReceiver", "onNotificationClickedWithNoAction, title: " + title + ", summary: " + summary + ", extraMap:" + extraMap);
        }
        @Override
        protected void onNotificationReceivedInApp(Context context, String title, String summary, Map<String, String> extraMap, int openType, String openActivity, String openUrl) {
            Log.e("MyMessageReceiver", "onNotificationReceivedInApp, title: " + title + ", summary: " + summary + ", extraMap:" + extraMap + ", openType:" + openType + ", openActivity:" + openActivity + ", openUrl:" + openUrl);
        }
        @Override
        protected void onNotificationRemoved(Context context, String messageId) {
            Log.e("MyMessageReceiver", "onNotificationRemoved");
        }
    }
  3. 將該receiver添加到AndroidManifest.xml中。

    <!-- 消息接收監(jiān)聽器 (用戶可自主擴展) -->
    <receiver
        android:name=".MyMessageReceiver"
        android:exported="false"> <!-- 為保證receiver安全,建議設(shè)置不可導(dǎo)出,如需對其他應(yīng)用開放可通過android:permission進行限制 -->
        <intent-filter>
            <action android:name="com.alibaba.push2.action.NOTIFICATION_OPENED" />
        </intent-filter>
        <intent-filter>
            <action android:name="com.alibaba.push2.action.NOTIFICATION_REMOVED" />
        </intent-filter>
        <intent-filter>
            <action android:name="com.alibaba.sdk.android.push.RECEIVE" />
        </intent-filter>
    </receiver>
                            

    在SDK初始化的代碼邏輯里,已經(jīng)封裝了以下動作的業(yè)務(wù)邏輯,無需您做任何額外的操作。

    • 關(guān)聯(lián)移動推送到某賬號

      當(dāng)賬號登錄時,App會自動關(guān)聯(lián)移動推送到當(dāng)前賬號。參見API服務(wù)/uc/bindPushChannel

    • 取消關(guān)聯(lián)移動推送到某賬號

      當(dāng)賬號登出時,App會自動取消關(guān)聯(lián)移動推送到當(dāng)前賬號。參見API服務(wù)/uc/unbindPushChannel

告警功能

告警功能依賴設(shè)備和用戶綁定,用戶和設(shè)備的綁定已經(jīng)封裝在SDK初始化中,您只需關(guān)注告警功能的業(yè)務(wù)邏輯即可。

消息類型說明

移動應(yīng)用推送支持以下兩種類型的消息下發(fā)。

  • 通知類型

    服務(wù)器下發(fā)的通知,SDK會自動處理,根據(jù)下發(fā)配置標(biāo)題和內(nèi)容自動彈出通知,無需在MyMessageRecevier中添加業(yè)務(wù)代碼。

  • 消息類型

    服務(wù)器下發(fā)的消息可以在初始化中創(chuàng)建的MyMessageReceiver對應(yīng)的回調(diào)方法中獲得。如需彈出通知,需要自己根據(jù)下發(fā)的內(nèi)容在此模式下彈出通知。

三方輔助推送通道

當(dāng)App不在運行狀態(tài)時,通過三方輔助推送通道可以將消息離線推送到手機。該推送通道無需額外初始化,您只需申請和配置好三方輔助的推送通道即可,詳細參見移動應(yīng)用推送開發(fā)指南

目前支持三方輔助推送通道的手機有:小米、華為、VIVO 、OPPO。

  • 小米、OPPO的三方推送:在初始化時配置參數(shù),詳細請參見SDK初始化

  • 華為、VIVO的三方推送:需要在AndroidManifest.xml配置如下相關(guān)信息。

    說明

    測試華為離線推送功能時,須確保測試App的簽名與提交至華為推送控制臺的App簽名保持一致。

    <!-- huawei push start -->
    <meta-data    
        android:name="com.huawei.hms.client.appid"    
        android:value="your huawei push appid" />
    <!-- huawei push end -->
    
    <!-- vivo push start -->
    <meta-data    
        android:name="com.vivo.push.api_key"    
        android:value="your vivo push api_key" />
    <meta-data    
        android:name="com.vivo.push.app_id"    
        android:value="your vivo push app id" />
    <!-- vivo push start -->

混淆配置

proguard-rules.pro文件中,加入以下代碼,排除不需要被混淆的類和方法。

-keepclasseswithmembernames class ** {
    native <methods>;
}

-keepattributes Signature

-keep class sun.misc.Unsafe { *; }

-keep class com.taobao.** {*;}

-keep class com.alibaba.** {*;}

-keep class com.alipay.** {*;}

-keep class com.ut.** {*;}

-keep class com.ta.** {*;}

-keep class anet.**{*;}

-keep class anetwork.**{*;}

-keep class org.android.spdy.**{*;}

-keep class org.android.agoo.**{*;}

-keep class android.os.**{*;}

-dontwarn com.taobao.**

-dontwarn com.alibaba.**

-dontwarn com.alipay.**

-dontwarn anet.**

-dontwarn org.android.spdy.**

-dontwarn org.android.agoo.**

-dontwarn anetwork.**

-dontwarn com.ut.**

-dontwarn com.ta.**