<acronym id="ye54p"><strong id="ye54p"></strong></acronym>
      幫助文檔

      快發助手Java接入文檔

      版本號 修改說明 作者 時間
      v3.1 文檔創建 HooRang 2016-06-23

      名詞解釋

      名詞 解釋
      母包 母包=純凈的游戲包+快發sdk,也就是游戲接好快發sdk之后就是一個母包
      打包工具 快發提供的一個win/mac os打包客戶端,渠道包由該工具進行生成
      簽名文件 生成apk時需要使用的*.keystore文件

      前言

      業務功能、統計、生命周期函數模塊如非特別標注“非必接”均表示默認為必接接口,推送、分享插件模塊按照cp意愿,自愿選擇是否接入;

      引入sdk

      以library的方式引入sdk庫項目(lib_Platform_SDK_v版本號)

      Unity的項目請注意:lib_Platform_SDK_v版本號.jar中包含有assets下面的資源,由于Unity項目打包時無法自動
      把這里的資源拷貝到項目中,所以需要把jar解壓出來手動拷貝到Assets-Plugins-Android-assets目錄中
      

      配置AndroidManifest.xml

      一、權限配置
      <uses-permission android:name="android.permission.INTERNET" />
      <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
      <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
      <uses-permission android:name="android.permission.READ_PHONE_STATE" />
      <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
      <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
      <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
      <uses-permission android:name="android.permission.READ_LOGS"/>
      <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
      
      二、Application配置
      SDK默認Application為:com.hjr.sdkkit.framework.mw.app.SDKBaseApplication;
      如有自定義的Application:需要繼承com.hjr.sdkkit.framework.mw.app.SDKBaseApplication;
      將默認的或者是自定義的Application配置到AndroidManifest.xml中Applicataion節點的android:name當中;
      
      三、修改HJR_GAMEKEY
       <meta-data android:name="HJR_GAMEKEY" android:value="填入申請的gamekey" />
      

      客戶端接口接入

      業務功能接口

      一、初始化
      通常在游戲第一個Activity的onCreate方法中調用
      HJRSDKKitPlatformCore sdkObj = HJRSDKKitPlateformCore.initHJRPlateform(
                                      Activity activity,HJRSDKKitPlateformCallBack callBack);
      
      參數 參數說明
      activity 游戲當前activity對象
      callBack 初始化全局回調對象,所有sdk接口均通過該對象中的接口方法向外進行回調
      二、登錄
      在初始化成功之后方可以調用;這里請注意,點擊設備物理返回鍵可以取消登錄并且sdk在這種情況下不會給出任何回調,并且注意處理連續點擊按鈕情況,可以參見demo
      sdkObj.User.login(Activity activity);
      
      參數 參數說明
      activity 游戲當前activity對象
      三、支付
      在購買商品時調用,請注意處理連續點擊情況,可以參見demo
      ParamsContainer pc = new ParamsContainer();
      pc.putInt(ParamsKey.KEY_PAY_AMOUNT, );
      pc.putInt(ParamsKey.KEY_PAY_PRODUCT_NUM, );
      pc.putString(ParamsKey.KEY_PAY_ORDER_ID, "");
      pc.putInt(ParamsKey.KEY_PAY_PRODUCT_ID, );
      pc.putString(ParamsKey.KEY_PAY_PRODUCT_NAME, "");
      pc.putString(ParamsKey.KEY_PRODUCT_DESC, "");
      pc.putString(ParamsKey.KEY_EXTINFO, "");
      sdkObj.Pay.pay(pc);
      
      參數 參數說明
      ParamsKey.KEY_PAY_AMOUNT 支付金額,整形,以元為單位
      ParamsKey.KEY_PAY_PRODUCT_NUM 購買數量,整形,通常情況為1
      ParamsKey.KEY_PAY_ORDER_ID 游戲方自定義訂單號,字符串,會通過服務器回傳給cp服務器
      ParamsKey.KEY_PAY_PRODUCT_ID 商品id,整形,多個充值檔位不允許重復
      ParamsKey.KEY_PAY_PRODUCT_NAME 當前購買商品的商品名稱,字符串
      ParamsKey.KEY_PRODUCT_DESC 當前購買商品的商品描述,字符串
      ParamsKey.KEY_EXTINFO 擴展參數,字符串,透傳給cp服務器,可以為“”
      四、注銷
      需要在游戲中添加按鈕,點擊后來調用
      sdkObj.User.logout();
      
      五、用戶中心
      需要在游戲中添加按鈕,點擊后來調用
      sdkObj.User.userCenter();
      
      六、退出游戲
      在點擊設備物理返回鍵中調用,在這里只能保留sdk的一個退出確認提示框
      sdkObj.Base.exitGame(Activity activity);
      
      參數 參數說明
      activity 游戲當前activity對象
      七、重寫Activity生命周期函數
      以下生命周期函數原封不懂的拷貝到游戲的主Activity當中
      @Override
      protected void onResume() {
          super.onResume();
          if (sdkObj != null) {
              sdkObj.LifeCycle.onResume();
          }
      }
      
      @Override
      protected void onPause() {
          super.onPause();
          if (sdkObj != null) {
              sdkObj.LifeCycle.onPause();
          }
      }
      
      @Override
      protected void onStop() {
          super.onStop();
          if (sdkObj != null) {
              sdkObj.LifeCycle.onStop();
          }
      }
      
      @Override
      protected void onDestroy() {
          super.onDestroy();
          if (sdkObj != null) {
              sdkObj.LifeCycle.onDestroy();
          }
      
      }
      
      @Override
      public void onConfigurationChanged(Configuration newConfig) {
          super.onConfigurationChanged(newConfig);
          if (sdkObj != null) {
              sdkObj.LifeCycle.onConfigurationChanged(newConfig);
          }
      }
      
      
      @Override
      protected void onSaveInstanceState(Bundle outState) {
          super.onSaveInstanceState(outState);
          if (sdkObj != null) {
              sdkObj.LifeCycle.onSaveInstanceState(outState);
          }
      }
      
      @Override
      protected void onNewIntent(Intent intent) {
          super.onNewIntent(intent);
          if (sdkObj != null) {
              sdkObj.LifeCycle.onNewIntent(intent);
          }
      }
      
      @Override
      protected void onActivityResult(int requestCode, int resultCode, Intent data) {
          super.onActivityResult(requestCode, resultCode, data);
          if (sdkObj != null) {
              sdkObj.LifeCycle.onActivityResult(requestCode, resultCode, data);
          }
      }
      
      八、全局回調對象HJRSDKKitPlateformCallBack
      調用HJRSDKKitPlateformCore.initHJRPlateform(Activity activity ,PlatformSDKCallBack callBack)后回調
      參數 參數說明 是否可能為空
      retStatus 接口調用返回狀態
      初始化成功:HJRSDKKitPlateformCallBack.STATUS_SUCCESS
      初始化失?。篐JRSDKKitPlateformCallBack.STATUS_FAIL
      retMessage 接口調用返回說明信息
      調用sdkObj.User.login()后回調
      參數 參數說明 是否可能為空
      retStatus 接口調用返回狀態
      登錄成功:HJRSDKKitPlateformCallBack.STATUS_SUCCESS
      登錄失?。篐JRSDKKitPlateformCallBack.STATUS_FAIL
      retMessage 接口調用返回說明信息
      loginUserId 某個渠道用戶唯一標識
      loginUserName 某個渠道用戶名
      loginAuthToken 用戶驗證token,可以用該值向sdk服務端驗證用戶有效性
      loginOpenId 全平臺用戶唯一標識
      switchUserFlag true:來自切換賬號的登錄;false:正常登錄
      調用sdkObj.Pay.pay()后回調
      參數 參數說明 是否可能為空
      retStatus 接口調用返回狀態
      支付成功:HJRSDKKitPlateformCallBack.STATUS_SUCCESS
      支付失?。篐JRSDKKitPlateformCallBack.STATUS_FAIL
      retMessage 接口調用返回說明信息
      payKitOrderId 平臺支付訂單號
      調用sdkObj.User.logout()后回調
      參數 參數說明 是否可能為空
      retStatus 接口調用返回狀態
      注銷成功:HJRSDKKitPlateformCallBack.STATUS_SUCCESS
      注銷失?。篐JRSDKKitPlateformCallBack.STATUS_FAIL
      retMessage 接口調用返回說明信息
      調用sdkObj.Base.exitGame()后回調
      參數 參數說明 是否可能為空
      retStatus 接口調用返回狀態
      點擊確定:HJRSDKKitPlateformCallBack.STATUS_SUCCESS
      點擊取消:HJRSDKKitPlateformCallBack.STATUS_FAIL
      retMessage 接口調用返回說明信息
      調用sdkObj.Pay.getOrderInfo(pc)的回調
      參數 參數說明 是否可能為空
      retStatus 接口調用返回狀態
      點擊確定:HJRSDKKitPlateformCallBack.STATUS_SUCCESS
      點擊取消:HJRSDKKitPlateformCallBack.STATUS_FAIL
      retMessage 接口調用返回說明信息
      orderStatus 訂單狀態: 0:整個充值流程已經成功走完;4:標識充值成功但是添加道具失??;否則表示失敗

      統計接口

      一、進入游戲
      在每次進入游戲時調用
      ParamsContainer pc = new ParamsContainer();
      pc.putString(ParamsKey.KEY_ROLE_ID, "");
      pc.putString(ParamsKey.KEY_ROLE_NAME, "");
      pc.putInt(ParamsKey.KEY_ROLE_LEVEL, );  
      pc.putString(ParamsKey.KEY_SERVER_ID, "");
      pc.putString(ParamsKey.KEY_SERVER_NAME, "");
      pc.put(ParamsKey.KEY_ROLE_CREATETIME, 0L);
      pc.put(ParamsKey.KEY_ROLE_UPGRADETIME, 0L);
      sdkObj.Collections.onDatas(DataTypes.DATA_ENTER_GAME, pc);
      
      參數 參數說明 是否可以為空
      ParamsKey.KEY_ROLE_ID 當前登錄用戶角色id
      ParamsKey.KEY_ROLE_NAME 當前登錄用戶角色名
      ParamsKey.KEY_ROLE_LEVEL 當前登錄用戶角色等級
      ParamsKey.KEY_SERVER_ID 當前登錄區服id
      ParamsKey.KEY_SERVER_NAME 當前登錄區服名
      ParamsKey.KEY_ROLE_CREATETIME 角色創建時間,傳值注意事項請參加demo
      ParamsKey.KEY_ROLE_UPGRADETIME 角色升級時間,傳值注意事項請參加demo
      二、創建角色
      在游戲中完成創建角色操作之后調用
      ParamsContainer pc = new ParamsContainer();
      pc.putString(ParamsKey.KEY_ROLE_ID, "");
      pc.putString(ParamsKey.KEY_ROLE_NAME, "");
      pc.putString(ParamsKey.KEY_SERVER_ID, "");
      pc.putString(ParamsKey.KEY_SERVER_NAME, "");
      sdkObj.Collections.onDatas(DataTypes.DATA_CREATE_ROLE, pc);
      
      參數 參數說明 是否可以為空
      ParamsKey.KEY_ROLE_ID 創建的角色id
      ParamsKey.KEY_ROLE_NAME 創建的角色名
      ParamsKey.KEY_SERVER_ID 當前登錄用戶所在區服id
      ParamsKey.KEY_SERVER_NAME 當前登錄用戶所在區服名

      三、角色升級
      在游戲中角色完成升級時調用,需要實時調用;
      ParamsContainer pc = new ParamsContainer();
      pc.putString(ParamsKey.KEY_ROLE_LEVEL, "");
      pc.put(ParamsKey.KEY_ROLE_CREATETIME, 0L);
      pc.put(ParamsKey.KEY_ROLE_UPGRADETIME, 0L);
      sdkObj.Collections.onDatas(DataTypes.DATA_ROLE_UPGRADE, pc);
      
      參數 參數說明 是否可以為空
      ParamsKey.KEY_ROLE_LEVEL 角色升級后的等級
      ParamsKey.KEY_ROLE_CREATETIME 角色創建時間,傳值注意事項請參加demo
      ParamsKey.KEY_ROLE_UPGRADETIME 角色升級時間,傳值注意事項請參加demo
      四、支付統計
      在客戶端收到支付成功回調之后調用
      ParamsContainer pc = new ParamsContainer();
      pc.putInt(ParamsKey.KEY_AMOUNT, );
      pc.putString(ParamsKey.KEY_ORDERNUMBER, "");
      pc.putString(ParamsKey.KEY_PRODUCT_DESC, "");
      sdkObj.Collections.onDatas(DataTypes.DATA_PAY, pc);
      
      參數 參數說明 是否可以為空
      ParamsKey.KEY_AMOUNT 支付金額,以實際付款金額為準
      ParamsKey.KEY_ORDERNUMBER 訂單號,可以使用平臺支付返回訂單號/游戲自己的訂單號
      ParamsKey.KEY_PRODUCT_DESC 支付訂單描述

      分享模塊

      一、打開分享
      ParamsContainer pc = new ParamsContainer();
      pc.putString(ParamsKey.KEY_SHARE_TITLE, "");    
      pc.putString(ParamsKey.KEY_SHARE_DESCRIPTION,"");
      pc.putString(ParamsKey.KEY_SHARE_TEXT, "");
      pc.putString(ParamsKey.KEY_SHARE_TARGETURL, "");
      pc.putString(ParamsKey.KEY_SHARE_IMAGEURL, "");
      sdkObj.Share.share(pc);
      
      參數 參數說明 是否可以為空
      ParamsKey.KEY_SHARE_TITLE 分享標題
      ParamsKey.KEY_SHARE_DESCRIPTION 分享內容描述
      ParamsKey.KEY_SHARE_TEXT 分享的文字
      ParamsKey.KEY_SHARE_TARGETURL 分享點擊跳轉鏈接
      ParamsKey.KEY_SHARE_IMAGEURL 分享圖片鏈接

      推送模塊

      一、開啟推送

      sdkObj.Push.startWork(Activity activity);

      參數 參數說明
      activity 游戲當前activity對象
      二、設置推送tag

      sdkObj.Push.setTags(String tag)

      參數 參數說明
      tag 需要設置的tag
      无码中文字幕天天天天爽