精华内容
下载资源
问答
  • ios消息推送_极光sdk

    2016-11-17 15:21:19
    更新时间: 2016年11月17日 极光sdk提供的推送包括远程推送和长连接推送: ...长连接推送指服务器将要发给iphone的消息交给极光sdk来处理,极光sdk通过与iphone设备的长连接进行数据的传输,此过程不经过apns

    更新时间:

    2016年11月17日

    极光sdk提供的推送包括远程推送和长连接推送:

    远程推送指服务器将要发给iphone的消息交给极光sdk来处理,极光sdk会负责管理设备token、向apns发送数据。使用该模式要求开发人员提供推送证书。
    长连接推送指服务器将要发给iphone的消息交给极光sdk来处理,极光sdk通过与iphone设备的长连接进行数据的传输,此过程不经过apns。

    极光sdk使用的意义:

    主要是使后台开发任务变的更加轻松。

    ios消息推送适配(极光sdk):

    详细内容查看极光官网,一下介绍两个主要方面

    如果支持7-9

    推送注册
    if ([application respondsToSelector:@selector(isRegisteredForRemoteNotifications)]) {//IOS8
            //可以添加自定义categories
            [JPUSHService registerForRemoteNotificationTypes:(UIUserNotificationTypeBadge |
                                                              UIUserNotificationTypeSound |
                                                              UIUserNotificationTypeAlert)
                                                  categories:nil];
    
        } else {
            //categories 必须为nil
            [JPUSHService registerForRemoteNotificationTypes:(UIRemoteNotificationTypeBadge |
                                                              UIRemoteNotificationTypeSound |
                                                              UIRemoteNotificationTypeAlert)
                                                  categories:nil];
        }

    消息获取和处理

    只需要在如下方法中对消息进行处理

    - (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult result))completionHandler NS_AVAILABLE_IOS(7_0);

    如果支持7-10

    推送注册
    if ([[UIDevice currentDevice].systemVersion floatValue] >= 10.0) {
            JPUSHRegisterEntity * entity = [[JPUSHRegisterEntity alloc] init];
            entity.types = UNAuthorizationOptionAlert|UNAuthorizationOptionBadge|UNAuthorizationOptionSound;
            [JPUSHService registerForRemoteNotificationConfig:entity delegate:self];
        } else if ([application respondsToSelector:@selector(isRegisteredForRemoteNotifications)]) {//IOS8
            //可以添加自定义categories
            [JPUSHService registerForRemoteNotificationTypes:(UIUserNotificationTypeBadge |
                                                              UIUserNotificationTypeSound |
                                                              UIUserNotificationTypeAlert)
                                                  categories:nil];
    
        } else {
            //categories 必须为nil
            [JPUSHService registerForRemoteNotificationTypes:(UIRemoteNotificationTypeBadge |
                                                              UIRemoteNotificationTypeSound |
                                                              UIRemoteNotificationTypeAlert)
                                                  categories:nil];
    
        }

    消息获取和处理

    在实现1)的基础上实现ios10的消息处理,在如下方法中对消息进行处理
    [UNUserNotificationCenterDelegate didReceiveNotificationResponse:withCompletionHandler:]
    或者使用极光sdk提供的对应方法对消息内容进行处理
    - (void)jpushNotificationCenter:(UNUserNotificationCenter *)center didReceiveNotificationResponse:(UNNotificationResponse *)response withCompletionHandler:(void (^)())completionHandler;


    展开全文
  • 30分钟搞定极光sdk安卓客户端接入

    千次阅读 2018-06-25 10:41:50
    1、注册成为极光开发者2、登记应用3、下载客户端SDK资源文件4、新建Android Application项目5、配置AndroidManifest.xml6、在MainActivity.java文件中初始化推送接口...10、恭喜您,已经成功接入极光SDK安卓客户端。...

    1、注册成为极光开发者,极光开发者平台官方网站:https://www.jiguang.cn/


    2、登录极光开发者平台,进入开发者服务,创建应用。


    填写相关信息,应用icon,应用名称。

    创建成功,点击"设置",会查看到应用详细信息,这里,我们需要用到的有AppKey,Master Secret等。


    3、下载客户端SDK资源文件,下载地址:https://www.jiguang.cn/downloads/sdk/android,这里选择下载Android SDK。解压之后,文件结构如下图:


    4、新建Android Application项目。在项目根路径下新建libs文件夹,并将下载的sdk解压,将libs目录下的jcore-android-1.2.1.jar和jpush-android-3.1.3.jar放入libs目录下,会自动加入到类路径下。


    5、配置AndroidManifest.xml

    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.xxx.hello"
        android:versionCode="1"
        android:versionName="1.0" >
    
        <uses-sdk
            android:minSdkVersion="24"
            android:targetSdkVersion="27" />
    
        <!-- permission -->
        <permission 
            android:name="com.xxx.hello.permission.JPUSH_MESSAGE"
            android:protectionLevel="signature" />
        <!-- uses-permission -->
        <uses-permission android:name="com.xxx.hello.permission.JPUSH_MESSAGE"/>
        <uses-permission android:name="android.permission.RECEIVE_USER_PRESENT"/>
        <uses-permission android:name="android.permission.INTERNET"/>
        <uses-permission android:name="android.permission.WAKE_LOCK"/>
        <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
        <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
        <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
        <uses-permission android:name="android.permission.VIBRATE"/>
        <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
        <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
        <uses-permission android:name="android.permission.WRITE_SETTINGS"/>
        <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
        
        <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
        <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
        <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
        <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
        <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS"/>
        <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>
        <uses-permission android:name="android.permission.GET_TASKS"/>
        <application
            android:allowBackup="true"
            android:icon="@drawable/ic_launcher"
            android:label="@string/app_name"
            android:theme="@style/AppTheme" >
            <activity
                android:name=".MainActivity"
                android:label="@string/app_name" >
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
    
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
            <service 
                android:name="cn.jpush.android.service.PushService"
                android:enabled="true"
                android:exported="false">
                <intent-filter>
                    <action android:name="cn.jpush.android.intent.REGISTER"/>
                    <action android:name="cn.jpush.android.intent.REPORT"/>
                    <action android:name="cn.jpush.android.intent.PushService"/>
                    <action android:name="cn.jpush.android.intent.PUSH_TIME"/>
                </intent-filter>
            </service>
            <provider 
                android:authorities="com.xxx.hello.DataProvider"
                android:name="cn.jpush.android.service.DataProvider"
                android:exported="true"/>
            <service
                 android:name="cn.jpush.android.service.DaemonService"
                 android:enabled="true"
                 android:exported="true">
                 <intent-filter >
                     <action android:name="cn.jpush.android.intent.DaemonService" />
                     <category android:name="com.xxx.hello"/>
                 </intent-filter>
             </service>
             <provider
                   android:authorities="com.xxx.hello.DownloadProvider"
                   android:name="cn.jpush.android.service.DownloadProvider"
                   android:exported="true"
               />
              <receiver
                android:name="cn.jpush.android.service.PushReceiver"
                android:enabled="true" >
              <intent-filter android:priority="1000">
                    <action android:name="cn.jpush.android.intent.NOTIFICATION_RECEIVED_PROXY" />
                    <category android:name="com.xxx.hello"/>
                </intent-filter>
                <intent-filter>
                    <action android:name="android.intent.action.USER_PRESENT" />
                    <action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
                </intent-filter>
                <!-- Optional -->
                <intent-filter>
                    <action android:name="android.intent.action.PACKAGE_ADDED" />
                    <action android:name="android.intent.action.PACKAGE_REMOVED" />
                    <data android:scheme="package" />
                </intent-filter>
            </receiver>
            
              <activity
                android:name="cn.jpush.android.ui.PushActivity"
                android:configChanges="orientation|keyboardHidden"
                android:theme="@android:style/Theme.NoTitleBar"
                android:exported="false" >
                <intent-filter>
                    <action android:name="cn.jpush.android.ui.PushActivity" />
                    <category android:name="android.intent.category.DEFAULT" />
                    <category android:name="com.xxx.hello" />
                </intent-filter>
            </activity>
            
              <activity
                android:name="cn.jpush.android.ui.PopWinActivity"
                android:configChanges="orientation|keyboardHidden"
                android:exported="false"
                android:theme="@style/MyDialogStyle">
                <intent-filter>
                    <category android:name="android.intent.category.DEFAULT" />
                    <category android:name="com.xxx.hello" />
                </intent-filter>
            </activity>
            <service
                android:name="cn.jpush.android.service.DownloadService"
                android:enabled="true"
                android:exported="false" >
            </service>
            <receiver android:name="cn.jpush.android.service.AlarmReceiver" />
             <meta-data android:name="JPUSH_CHANNEL" android:value="developer-default"/>
             <meta-data android:name="JPUSH_APPKEY" android:value="c0d8228a8fb1e65ec9794bcb"/>
        </application>
    
    </manifest>

    6、在MainActivity.java文件中初始化推送接口,主要代码如下。

    @Override
    protected void onCreate(Bundle savedInstanceState) {
    	super.onCreate(savedInstanceState);
    	setContentView(R.layout.activity_main);
    	JPushInterface.setDebugMode(true);
    	JPushInterface.init(this);
    	Log.e("MainActivity", "main activity start ok");
    }

    7、将相关资源从下载的sdk解压文件中拷贝到项目路径下。

    so文件:libs/armeabi,libs/armeabi-v7a,libs/x86_64三个文件夹,放入项目的libs文件夹下。

    layout文件:res/layout/jpush_popwin_layout.xml,res/layout/jpush_webview_layout.xml放入项目res/layout目录下。

    values文件:res/values/jpush_style.xml放入项目res/values目录下。

    drawable文件:res/drawable-hdpi文件夹下的文件放入项目res/drawable-hdpi文件夹下。

    8、启动应用,连接手机测试。

    logcat下看到应用启动信息。


    MainActivity中的日志


    9、在开发者平台发送消息给应用。

    进入应用管理,选择第二步创建的应用,点击推送,进入推送页面,选择发送通知。


    接下来,填写推送内容,并选择推送目标平台Android。


    点击页面底部“立即发送”,出现推送对话框。


    点击“立即推送”,推送成功,会提示如下:


    接下来,查看手机通知栏,正常的情况下,会出现一条消息。


    10、恭喜您,已经成功接入极光SDK安卓客户端。

    展开全文
  • 关于集成极光SDK可以参考极光官方的文档:集成文档 获取手机设备号 集成完成后,使用SDK获取当前设备的设备号: android, kotlin: val device = JPushInterface.getRegistrationID(this) ios, swift: JPUSH...

    用户需求:用户自行开发app,想通过O2OA集成的极光推送消息把O2OA的消息发送到自己的app中。前提是这个app需要集成极光的SDK。

    关于集成极光SDK可以参考极光官方的文档:集成文档

    获取手机设备号

    集成完成后,使用SDK获取当前设备的设备号:

    android, kotlin:

    val device = JPushInterface.getRegistrationID(this)

    ios, swift:

    JPUSHService.registrationIDCompletionHandler { (resCode, registrationID) in
        if resCode == 0 {
            O2Logger.debug("设备号获取成功\(registrationID ?? "")")
            O2AuthSDK.shared.setDeviceToken(token: registrationID ?? "registrationIDerror0x0x")
        }else{
            O2Logger.debug("设备号获取失败,code:\(resCode)")
            O2AuthSDK.shared.setDeviceToken(token: registrationID ?? "registrationIDerror0x0x")
        }
    }

     

    将设备号绑定到用户属性

    可以打开O2OA的推送相关的API接口文档:

    http://host地址:20020/x_jpush_assemble_control/jest/index.html

    如下图,看到一个DeviceAction,这里面有绑定设备号、删除设备号绑定等API:

    image.png

    API调用说明:

    这些API都需要用户登录后才能使用,所以外部APP使用的时候需要先单点登录,请求API的时候传入token。

    API文档里面有说明如何调用这些请求,比如这个绑定设备号:

    POST请求地址:http://host地址:20020/x_jpush_assemble_control/jaxrs/device/bind

    请求body体:{"deviceName": "上面极光SDK获取的设备号", "deviceType": "当前设备是ios还是android"}

    Header:

    x-token:  *******

    Content-Type: application/json

    ......

     

    后面是去O2OA服务器端配置消息推送以及极光的一些配置,参考: https://www.yuque.com/docs/share/d9b8e231-bfcc-48cf-a671-141fd927f78f?# 《O2OA移动端APP直连版本如何开启消息推送》

     

    展开全文
  • 导入极光sdk步骤

    千次阅读 2017-01-08 18:13:06
    今天自己想了一个小功能demo需要用到极光推送,然后发现每次对着官方文档导入有点麻烦,在这记录一下。  首先要在官网为你的应用注册获取appkey,然后就下载sdk,以及3分钟demo   jcenter 自动集成步骤  ...

    今天自己想了一个小功能demo需要用到极光推送,然后发现每次对着官方文档导入有点麻烦,在这记录一下。


        首先要在官网为你的应用注册获取appkey,然后就下载sdk,以及3分钟demo

       


    jcenter 自动集成步骤 

    说明 : 使用jcenter自动集成的开发者,不需要在项目中添加jar和so,jcenter会自动完成依赖;在AndroidManifest.xml中不需要添加任何JPush SDK 相关的配置,jcenter会自动导入。

    • 如果开发者需要修改组件属性,可以在本地的 AndroidManifest 中定义同名的组件并配置想要的属性,然后用 xmlns:tools 来控制本地组件覆盖 jcenter 上的组件。示例:

      <manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="com.android.tests.flavorlib.app"
          xmlns:tools="http://schemas.android.com/tools">
      
          <application
              android:icon="@drawable/icon"
              android:name="com.example.jpushdemo.ExampleApplication"
              android:label="@string/app_name" >
      
              <service
                  android:name="cn.jpush.android.service.PushService"
                  android:process=":multiprocess"
                  tools:node="replace" >
      
                  ……
              </service>
      
          ……
        </application>
      
        ……
      </manifest>
      
    • 确认android studio的 Project 根目录的主 gradle 中配置了jcenter支持。(新建project默认配置就支持)

      buildscript {
          repositories {
              jcenter()
          }
          ......
      }
      
      allprojects {
          repositories {
              jcenter()
          }
      }
      
    • 在 module 的 gradle 中添加依赖和AndroidManifest的替换变量。

      android {
          ......
          defaultConfig {
              applicationId "com.xxx.xxx" //JPush上注册的包名.
              ......
      
              ndk {
                  //选择要添加的对应cpu类型的.so库。 
                  abiFilters 'armeabi', 'armeabi-v7a', 'armeabi-v8a' 
                  // 还可以添加 'x86', 'x86_64', 'mips', 'mips64'
              }
      
              manifestPlaceholders = [
                  JPUSH_PKGNAME : applicationId,
                  JPUSH_APPKEY : "你的appkey", //JPush上注册的包名对应的appkey.
                  JPUSH_CHANNEL : "developer-default", //暂时填写默认值即可.
              ]
              ......
          }
          ......
      }
      
      dependencies {
          ......
      
          compile 'cn.jiguang.sdk:jpush:3.0.0'  // 此处以JPush 3.0.0 版本为例。
          compile 'cn.jiguang.sdk:jcore:1.0.0'  // 此处以JCore 1.0.0 版本为例。
          ......
      }
      

     : 如果在添加以上 abiFilter 配置之后android Studio出现以下提示:

        NDK integration is deprecated in the current plugin. Consider trying the new experimental plugin.
    

    则在 Project 根目录的gradle.properties文件中添加:

        android.useDeprecatedNdk=true。
    ----------------------------------这个方法没试过,比较习惯手动导~~~~因为手动导入的话比较清楚里面的构造,还有也能了解在eclipse下怎么导

    手动集成步骤

    • 解压缩 jpush-android-release-3.x.y.zip 集成压缩包。
    • 复制 libs/jcore-android_v1.x.y.jar 到工程 libs/ 目录下。
    • 复制 libs/jpush-android_v3.x.y.jar 到工程 libs/ 目录下。
    • 复制 libs/(cpu-type)/libjcore1xy.so 到你的工程中存放对应cpu类型的目录下。
    • 复制 res/ 中drawable-hdpi, layout, values文件夹中的资源文件到你的工程中 res/ 对应同名的目录下。
      
              下载回来的集成包是这个样子的
           




           1.libs包含了你要用的jar包,以及不同cpu下的so文件,全部粘贴到as就可以了,包括res下的资源文件也要

          

        记得jar包要add as library!

        还有res下的资源文件也要复制过来!

       


      2.全部复制好之后就要开始配置 androidmanifest 清单文件了,对着sdk中的清单文件导入,所有带有required的注释的都要复制进去
          
        a.首先先配置权限 将红色部分替换成你注册应用的包名
       
       <!-- Required  一些系统要求的权限,如访问网络等-->
        <uses-permission android:name="您应用的包名.permission.JPUSH_MESSAGE" />
        <uses-permission android:name="android.permission.RECEIVE_USER_PRESENT" />
        <uses-permission android:name="android.permission.INTERNET" />
        <uses-permission android:name="android.permission.WAKE_LOCK" />
        <uses-permission android:name="android.permission.READ_PHONE_STATE" />
        <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
        <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
        <uses-permission android:name="android.permission.WRITE_SETTINGS" />
        <uses-permission android:name="android.permission.VIBRATE" />
        <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
        <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
        <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />

        <!-- Optional for location -->
        <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" /> <!-- 用于开启 debug 版本的应用在6.0 系统上 层叠窗口权限 -->
        <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
        <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
        <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
        <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
        <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
        <uses-permission android:name="android.permission.GET_TASKS" />
             
        b.然后配置极光推送权限,(我就是忘了加这个权限然后试了半天出不来..)
            <!-- Required -->
        <permission
            android:name="您应用的包名.permission.JPUSH_MESSAGE"
            android:protectionLevel="signature" />

        c.然后为广播和服务注册(在application下
        <!-- Rich push 核心功能 since 2.0.6-->
            <activity
                android:name="cn.jpush.android.ui.PopWinActivity"
                android:theme="@style/MyDialogStyle"
                android:exported="false">
            </activity>


            <!-- Required SDK核心功能-->
            <activity
                android:name="cn.jpush.android.ui.PushActivity"
                android:configChanges="orientation|keyboardHidden"
                android:theme="@android:style/Theme.NoTitleBar"
                android:exported="false">
                <intent-filter>
                    <action android:name="cn.jpush.android.ui.PushActivity" />
                    <category android:name="android.intent.category.DEFAULT" />
                    <category android:name="您应用的包名" />
                </intent-filter>
            </activity>
            <!-- Required  SDK核心功能-->
            <service
                android:name="cn.jpush.android.service.DownloadService"
                android:enabled="true"
                android:exported="false" >
            </service>


            <!-- Required SDK 核心功能-->
            <!-- 可配置android:process参数将PushService放在其他进程中 -->
            <service
                android:name="cn.jpush.android.service.PushService"
                android:process=":mult">
                <intent-filter>
                    <action android:name="cn.jpush.android.intent.REGISTER" />
                    <action android:name="cn.jpush.android.intent.REPORT" />
                    <action android:name="cn.jpush.android.intent.PushService" />
                    <action android:name="cn.jpush.android.intent.PUSH_TIME" />
                </intent-filter>
            </service>


            <!-- since 1.8.0 option 可选项。用于同一设备中不同应用的JPush服务相互拉起的功能。 -->
            <!-- 若不启用该功能可删除该组件,将不拉起其他应用也不能被其他应用拉起 -->
            <service
                android:name="cn.jpush.android.service.DaemonService"
                android:enabled="true"
                android:exported="true">
                <intent-filter>
                    <action android:name="cn.jpush.android.intent.DaemonService" />
                    <category android:name="您应用的包名" />
                </intent-filter>


            </service>


            <!-- Required SDK核心功能-->
            <receiver
                android:name="cn.jpush.android.service.PushReceiver"
                android:enabled="true">
                <intent-filter android:priority="1000">
                    <action android:name="cn.jpush.android.intent.NOTIFICATION_RECEIVED_PROXY" />   <!--Required  显示通知栏 -->
                    <category android:name="您应用的包名" />
                </intent-filter>
                <intent-filter>
                    <action android:name="android.intent.action.USER_PRESENT" />
                    <action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
                </intent-filter>
                <!-- Optional -->
                <intent-filter>
                    <action android:name="android.intent.action.PACKAGE_ADDED" />
                    <action android:name="android.intent.action.PACKAGE_REMOVED" />


                    <data android:scheme="package" />
                </intent-filter>
            </receiver>


            <!-- Required SDK核心功能-->
            <receiver android:name="cn.jpush.android.service.AlarmReceiver" android:exported="false"/>

       
            <!-- User defined.  For test only  用户自定义的广播接收器-->
            <receiver
                android:name="com.example.jpushdemo.MyReceiver"
                android:exported="false"
                android:enabled="true">
                <intent-filter>
                    <action android:name="cn.jpush.android.intent.REGISTRATION" /> <!--Required  用户注册SDK的intent-->
                    <action android:name="cn.jpush.android.intent.MESSAGE_RECEIVED" /> <!--Required  用户接收SDK消息的intent-->
                    <action android:name="cn.jpush.android.intent.NOTIFICATION_RECEIVED" /> <!--Required  用户接收SDK通知栏信息的intent-->
                    <action android:name="cn.jpush.android.intent.NOTIFICATION_OPENED" /> <!--Required  用户打开自定义通知栏的intent-->
                    <action android:name="cn.jpush.android.intent.CONNECTION" /><!-- 接收网络变化 连接/断开 since 1.6.3 -->
                    <category android:name="您应用的包名" />
                </intent-filter>
            </receiver>


            <!-- Required  . Enable it you can get statistics data with channel -->
            <meta-data android:name="JPUSH_CHANNEL" android:value="developer-default"/>
            <meta-data android:name="JPUSH_APPKEY" android:value="您注册的appKey" /> <!--  </>值来自开发者平台取得的AppKey--> 

             将红色区域的值都替换成在官网注册的用户的值就可以了
            ------------------------------------------------------
          配置好之后就配置application。

          新建一个类继承自application 然后重写onCreate方法,在方法中初始化极光推送,然后在jpush官方控制台
         发送消息测试,注意消息体不能为空,不然通知栏不会弹出

          
           

    展开全文
  • 极光SDK API接入文档

    2020-06-28 14:23:45
    在加粗样式游戏启动的主场景中创建一个空GameObject,命名为 sdk,之后将拉取到的Jim_sdk/Scripts/JIM/api 下的 JIMClientAPI 以及 JIMTalkAPI 两个C# 脚本挂载到 sdk 这个空GameObject上。 3.获取C#脚本 function _...
  • @先看看效果是不是自己想要的吧@ 参考官方文档集成:... 第一步:下载sdk -->https://docs.jiguang.cn/jmessage/resources/ 第二步:解压sdk压缩包 将libs文件夹下面的所有内容拷贝到项...
  • 我将SDK的初始化和登录放在了app.js中 具体: 初始化 JMessage#init() 登录JMessage#login() 之后就可以加入聊天室,发送消息,监听消息了 大概流程: 进入聊天室JMessage#enterChatroom () 聊天室发送文本消息 ...
  • 1.导入库文件到工程中 CoreTelephony.framework CoreAudio.framework MobileCoreServices.framework
  • 参考极光文档:https://docs.jiguang.cn/jpush/client/Android/android_guide/ android手动集成: 第一步:下载sdk资源https://docs.jiguang.cn/jpush/resources/ 第二步:解压缩 jpush-android--3.x.x-release....
  • 创建帐号进入极光推送平台后,首先显示的是创建应用的界面。填上你的应用程序的名称,以及 Android包名这二顶就可以了。 用创建成功,即进入“应用详情”显示界面。这个界面右下角,你可以看到 “appkey" 后面会...
  • AndroidStudio集成极光推送SDK

    千次阅读 2016-05-31 03:18:52
    AndroidStudio集成极光推送SDKJPush极光推送(以下简称“极光sdk”)是免费专业第三方云推送服务平台,专注于安卓推送Android消息推送,ios推送通知,手机推送,app云推送服务。极光sdk在eclipse下是很好集成的,但在AS...
  • Android集成极光聊天SDK

    2020-08-22 09:31:55
    //极光统计 implementation 'cn.jiguang.sdk:jmessage:2.9.0' implementation 'cn.jiguang.sdk:jcore:2.1.6' 3、配置APPID 位置app下的build.gradle文件中的android->defaultConfig中,AppKey创建好应用后查找,...
  • Android集成极光统计SDK

    2020-08-22 07:49:20
    //极光统计 implementation 'cn.jiguang.sdk:janalytics:2.1.0' implementation 'cn.jiguang.sdk:jcore:2.1.6' 3、配置APPID 位置app下的build.gradle文件中的android->defaultConfig中,AppKey创建好应用后查找...
  • 线上服务稳定了好几个月,这两天抽风,总是有mysql数据行被锁,update会报错(Lock wait timeout exceeded; try restarting ...极光sdk版本(接入sdk时从官方文档复制的,一直没更新,可谁没事会去更新这个呢):
  • 最近再开发小程序的直播,用到了极光SDK推送,

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,037
精华内容 414
关键字:

极光sdk