安卓快速集成个推推送

作者: 往后余生9375 | 来源:发表于2018-01-16 09:54 被阅读287次

    登录个推开放平台

    https://dev.getui.com/进入开放平台后,管理应用,如果没有请点击右上方的登记应用

    查看应用列表

    应用配置

    应用列表有一个应用配置,选择一个项目点击,将以下信息复制到文本以供后面sdk使用。

    应用配置

    AS配置推送

    添加中央maven

    allprojects {
        repositories {
            jcenter()
            google()
            maven {
                url "http://mvn.gt.igexin.com/nexus/content/repositories/releases/"
            }
        }
    }
    

    添加配置信息
    请在android -> defaultConfig 下添加

     manifestPlaceholders = [
                    GETUI_APP_ID : "V7pDtz********whBrgU7",
                    GETUI_APP_KEY : "DAlhd************qPbssSA",
                    GETUI_APP_SECRET : "oWtF**********qJTQKR"
            ]
    
            ndk {
                abiFilters "armeabi", "armeabi-v7a", "x86_64"
            }
    

    导入SDK

     compile 'com.getui:sdk:2.11.1.0'
    

    注册服务

    将个推DEMO中的两个服务进行修改名称放入工程,并注册

    <service android:name=".service.SignIntentService"/>
    
            <!-- 配置SDK核心服务 -->
            <service
                android:name=".service.SignPushService"
                android:exported="true"
                android:label="PushService"
                android:process=":pushservice">
            </service>
    

    初始化服务

    private void initPushService(){
            PushManager.getInstance().initialize(this.getApplicationContext(), SignPushService.class);
            PushManager.getInstance().registerPushIntentService(this.getApplicationContext(), SignIntentService.class);
        }
    

    获取CID

     while(ClientId == null){
           ClientId = PushManager.getInstance().getClientid(this);
    }
    

    透传信息获取

    打开DemoIntentService服务,采用EventBus将透传信息进行转发。

    String data = new String(payload);
                DefaultMessageEvent defaultMessageEvent = EventManager.getDefaultMessage();
                defaultMessageEvent.setCode(EventCode.RECEVE_PUSH_PAYLOAD);
                defaultMessageEvent.setContent(data);
                EventManager.sendDefaultMessage(defaultMessageEvent);
    

    这样我们可以在任何Activity进行数据交互

    常用API解析

    更加详细的API:http://docs.getui.com/getui/mobile/android/api/

    停止SDK服务

    public void stopService(Context context)

    • 接口 PushManager 中的 stopService,停止 SDK 服务,服务不会终止运行, 只是终止推送和联网功能
    • 重新调用 initialize 接口初始化推送服务或者调用 turnOnPush 接口开启 push, 即可正常推送, 具体参考 initialize 和 turnOnPush 接口

    开启推送

    public void turnOnPush(Context context)

    • 接口 PushManager 中的 turnOnPush, 开启Push推送, 默认是开启状态, 关闭状态则收不到推送。turnOnPush 默认打开
    • 如果已经调用了 stopService 接口停止了 SDK 服务,调用 turnOnPush 或者重新调用 initialize 之后即可正常推送
    • 如果已经调用了 turnOffPush 接口关闭了推送, 只有调用 turnOnPush 之后才能正常推送

    关闭推送

    public void turnOffPush(Context context)

    • 接口 PushManager 中的 turnOffPush, 关闭Push推送, 关闭后则无法收到推送消息
    • 如果已经调用了 stopService 接口停止了 SDK 服务,调用 turnOnPush 或者重新调用 initialize 之后即可正常推送
    • 如果已经调用了 turnOffPush 接口关闭了推送, 只有调用 turnOnPush 之后才能正常推送

    设置标签

    public int setTag(Context context,Tag[] tag, String sn);

    • 为当前用户设置一组标签,后续推送可以指定标签名进行定向推送
    • 标签的设定,一定要在获取到 Clientid 之后才可以设定。标签的设定,服务端限制一天只能成功设置一次

    相关文章

      网友评论

      本文标题:安卓快速集成个推推送

      本文链接:https://www.haomeiwen.com/subject/fkojoxtx.html