安卓快速集成个推推送

作者: 往后余生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