开发者社区> 问答> 正文

在应用研发平台EMAS中服务端推送消息,android 那边消息栏能收到通知信息,没有弹窗,为啥?

在应用研发平台EMAS中服务端推送消息,android 那边消息栏能收到通知信息,但没有弹窗,这是为什么呢?

展开
收起
曹凯1211 2023-08-09 12:18:04 96 0
2 条回答
写回答
取消 提交回答
  • 提供下设备id,通知是否折叠了?检查下手机设置,如果没问题换设备试试 ——此回答整理自钉群【移动推送】技术支持3群-应用研发平台EMAS

    2023-08-11 20:52:36
    赞同 展开评论 打赏
  • 接入推送辅助通道,确保您使用最新的辅助通道扩展包。查看当前设备是否支持辅助弹窗:

    • 小米辅助弹窗:支持V2.3.0及以上版本
    • 华为辅助弹窗:支持V3.0.8及以上版本
    • 华为弹窗当前只支持EmotionUI 4.1及以上版本

    指定打开的托管弹窗Activity,需要继承AndroidPopupActivity,并在AndroidManifest.xml中注册时需要声明属性android:exported=true。指定打开的托管弹窗Activity,需要继承AndroidPopupActivity,并在AndroidManifest.xml中注册时需要声明属性android:exported=true。

    import com.alibaba.sdk.android.push.AndroidPopupActivity;
    public class PopupPushActivity extends AndroidPopupActivity {
        static final String TAG = "PopupPushActivity";
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
        }
        /**
          * 实现通知打开回调方法,获取通知相关信息。
         * @param title     标题
         * @param summary   内容
         * @param extMap    额外参数
         */
        @Override
        protected void onSysNoticeOpened(String title, String summary, Map<String, String> extMap) {
            Log.d("OnMiPushSysNoticeOpened, title: " + title + ", content: " + summary + ", extMap: " + extMap);
        }
    }
    

    使用OpenAPI进行推送

    • OpenAPI 2.0的推送高级接口提供了AndroidPopupActivity、AndroidPopupTitle和AndroidPopupBody三个参数,分别用于设置辅助弹窗通知打开时跳转的Activity、通知标题以及通知内容(注意:StoreOffline参数也需要设置为true);

    • 辅助弹窗仅在当前厂商通道设备的应用后台进程被清理时生效,对非接入厂商通道设备和在线的设备不生效。

    • 当辅助弹窗生效时,推送接口的Title、Body、AndroidActivity以及额外参数设置中的功能性设置(如声音、震动等)都不起作用;

    PushRequest pushRequest = new PushRequest();
    // 其余设置省略
    // 推送类别-通知
    pushRequest.setPushType("NOTICE");
    // 标题
    pushRequest.setTitle(dateFormat.format(new Date()));
    // 内容
    pushRequest.setBody("PushRequest body");
    // 额外参数
    pushRequest.setAndroidExtParameters("{\"k1\":\"android\",\"k2\":\"v2\"}");
    // 设置辅助弹窗打开Activity
    pushRequest.setAndroidPopupActivity("*****");
    // 设置辅助弹窗通知标题
    pushRequest.setAndroidPopupTitle("*****");
    // 设置辅助弹窗通知内容
    pushRequest.setAndroidPopupBody("*****");
    // 设置离线存储
    pushRequest.setStoreOffline(true);
    

    选择移动推送后选择对应的应用,在左侧导航栏选择创建消息>推送通知,在高级设置(选填)中,设置厂商通道必要参数,如下图所示。
    image.png

    若问题仍然没有解决,您可以提交工单,提交工单时请选择移动推送类目。或者加入钉钉群咨询问题:钉钉群号:30959784

    2023-08-10 23:39:45
    赞同 展开评论 打赏
来源圈子
更多
收录在圈子:
基于阿里巴巴以及合作伙伴的最佳实践,围绕大前端、云原生领域的相关技术热点(小程序、Serverless、应用中间件、低代码、DevOps)展开行业探讨,与开发者一起探寻云原生时代应用研发的新范式。
相关文档: 移动研发平台
问答排行榜
最热
最新

相关电子书

更多
58同城Android客户端Walle框架演进与实践之路 立即下载
Android组件化实现 立即下载
蚂蚁聚宝Android秒级编译——Freeline 立即下载