JPush Android SDK教程——第三章:集成JPush Android SDK——第6节:使用API

第三章:集成JPush Android SDK

3.6 使用API

JPush SDK 提供的 API 接口,都主要集中在 cn.jpush.android.api.JPushInterface 类里。


2.6.1 基础API

  • init 初始化SDK

    public static void init(Context context)
    
  • setDebugMode 设置调试模式

注:该接口需在init接口之前调用,避免出现部分日志没打印的情况。多进程情况下建议在自定义的Application中onCreate中调用。

    // You can enable debug mode in developing state. You should close debug mode when release.
    public static void setDebugMode(boolean debugEnalbed)


2.6.2 调用示例代码

  • init 只需要在应用程序启动时调用一次该 API 即可。

  • 以下代码定制一个本应用程序 Application 类。需要在 AndoridManifest.xml 里配置。请参考上面 AndroidManifest.xml 片断,或者 example 项目。

    public class ExampleApplication extends Application {
    @Override
        public void onCreate() {
            super.onCreate();
            JPushInterface.setDebugMode(true);
            JPushInterface.init(this);
        }
    }
    

2.6.3 测试确认

      集成测试确认:

  • 确认所需的权限都已经添加。如果必须的权限未添加,日志会提示错误。
  • 确认 AppKey(在Portal上生成的)已经正确的写入 Androidmanifest.xml 。
  • 确认在程序启动时候调用了init(context) 接口
  •  客户端调用 init 后不久,如果一切正常,应有登录成功的日志信息
  • 测试是否能够获取到RegistrationID的值,如果能够获取到,则表示集成成功。调用JPushInterface.getRegistrationID() 获取该值。
  • 在几秒内,客户端应可收到下发的通知或者自定义消息,如果 SDK 工作正常,则日志信息会如下:
[JPushInterface] action:init

.......

[PushService] Login succeed!

       客户端测试确认:

  • 确认测试手机(或者模拟器)已成功连入网络(可以切换网络来判断是否该网络运营商有问题)

  • 请使用接口 isPushStopped 来检查 是否调用了stoppush,若是请调 resumepush 进行恢复

  • 检查手机的应用高级设置中是否设置了“允许推送时间”

  • 手机的应用中是否勾选了“显示通知”

  • 手机 - 设置 - 通知栏 -是否选择了横幅提醒

2.6.5 接收控制台消息

    如果客户端能够正常启动,那么此时客户端应该就能能够接收控制台发来的消息了。控制台的使用方法见https://blog.csdn.net/mengqidluffy/article/details/80333232

      在控制台发送推送时,需要注意:

  • 发送的推送通知内容不能为空,否则客户端不会展示消息;
  • 若推送的是自定义消息,则客户端默认不展示;


2.6.4 客户端启动分为 4 步:

  • 检查 metadata 的 appKey 和 channel ,如果不存在,则启动失败
  • 初始化 JPush SDK,检查 JNI 等库文件的有效性,如果库文件无效,则启动失败
  • 检查 Androidmanifest.xml,如果有 Required 的权限不存在,则启动失败
  • 连接服务器登录,如果存在网络问题,则登陆失败,或者前面三步有问题,不会启动JPush SDK

猜你喜欢

转载自blog.csdn.net/mengqidluffy/article/details/80345998