zoukankan      html  css  js  c++  java
  • INAPP

    1. Login API :

    接口為您提供了我們的登入服務,可以讓使用者透過facebook帳號登入我們的服務,在您呼叫此API後,可以得到

    使用者的UUID(Unique UID為使用者在平台的唯一ID),以下就是API的呼叫方式

      直接呼叫API,API將會反饋您回傳值如下

    UUID    String    (玩家在平台的UUID)

      您可以參考下列的案例,進行作業

    Example:
    InAppSession.login(this, newInAppSession.ISessionStatusCallback(){
                InAppBilling.mHelper.dispose();
                publicvoid success() {
                    // TODO Auto-generated method stub
                    // 在此可取得本次登入的auth值,建議可將此值透過平台提供的server-to-server 驗證 API (appLoginVerify API)進行驗證
                    String auth = com.inapp.LoginActivity.getAuth();
                    Log.d("auth", auth);
    
                    InAppSession.getInAppUser(newInAppRequest.IRequestStatusCallback(){
                        @Override
                        publicvoidonComplete(JSONObject data) {
                            // TODO Auto-generated method stub
                            try {
                                Log.d("uid", data.getString("uid"));
                            } catch (JSONException e) {
                                // TODO Auto-generated catch block
                                e.printStackTrace();
                            }
                        }
    
                        @Override
                        publicvoid fail(JSONObject data) {
                            // TODO Auto-generated method stub
                            try {
                                Log.d("ERR_CODE", data.getString("ERR_CODE"));
                                Log.d("ERR_MSG", data.getString("ERR_MSG"));
                            } catch (JSONException e) {
                                // TODO Auto-generated catch block
                                e.printStackTrace();
                            }
                        }
    
                        @Override
                        publicvoid exception(JSONException e) {
                            // TODO Auto-generated method stub
                            
                        }
                        
                    });
                }
    
                @Override
                publicvoid fail(JSONObject data) {
                    // TODO Auto-generated method stub
                    try {
                        Log.d("ERR_CODE", data.getString("ERR_CODE"));
                    } catch (JSONException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                }
    
                @Override
                publicvoid exception(Exception e) {
                    // TODO Auto-generated method stub
                    e.printStackTrace();
                }
                
            });

    2. appLoginVerify API : 

    此接口為您提供了我們登入的驗證服務,驗證的型式為Server-to-Server (auth值驗證),以下就是API的呼叫方式

     呼叫API時請帶入以下參數

    apiKey        String    (開發商apiKey)
    auth        String    (使用者登入auth值)
    ts            String    (時間戳記)     
    hash        String    (驗證值hash = SHA256[auth+apiKey+secret+ts] 以此方式產生,secret為secret key 請洽詢我方窗口提供)

    API將回傳您

    ERR_CODE    INT        (錯誤碼)
    ERR_MSG    String    (錯誤訊息)
    uid            String    (玩家在平台的UUID)

    您可以參考下列的案例,進行作業

    以post的方式將上述參數傳至
    http://inapp.com.tw/api/fbLogin/appLoginVerify

    3. pointDeductAPI :

    此接口為您提供了我們平台扣點服務,呼叫後扣除該玩家的平台點數,且由平台執行(3-1),並取得消費點數與交易序號,以下就是

    API的呼叫方式

    呼叫API時請帶入以下參數

    point            String    (欲扣除的點數)
    productName    String    (商品名稱)
    serveId              Int    (服務器序號,1为1服,2为2服)
    extraInfo        String    (開發商自訂參數,此參數會在完成交易後,回傳至BillingCallbackURI)

    API將回傳您

    tradeId            String    (交易序號)

    您可以參考下列的案例,進行作業

    Example:
    Map<String, String>params  =newHashMap<String, String>();
    params.put("point", "5");
    params.put("productName", "勇敢藥水");
    params.put("extraInfo", "5");
    InAppBilling.pointDeduct(this, params, newInAppRequest.IRequestStatusCallback()
    {
        @Override
        publicvoidonComplete(JSONObject data) {
            // TODO Auto-generated method stub
            try {
                Log.d("tradeId", data.getString("tradeId"));
            } catch (JSONException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    
        @Override
        publicvoid fail(JSONObject data) {
            // TODO Auto-generated method stub
            try {
                Log.d("ERR_CODE", data.getString("ERR_CODE"));
                Log.d("ERR_MSG", data.getString("ERR_MSG"));
            } catch (JSONException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
    }
        @Override
        publicvoid exception(JSONObject data) {
            // TODO Auto-generated method stub
    Log.d("Exception", e.getMessage());
    }
    });

    3-1. 回傳交易結果至開發商BillingCallbackURI(交易回傳網址) :

    此BillingCallbackURI為對我方申請應用時,需先行提交一個交易回傳網址提供給我方窗口,窗口會為您設定至平台,並且在

    pointDeductAPI交易完成後進行呼叫,以下為API的呼叫方式

    呼叫API時請帶入以下參數

    tradeId        String    (平台交易序號)
    point        INT        (交易扣除點數)
    extraInfo    String    (開發商自訂參數)
    ts            String    (時間戳記)
    hash        String    (驗證值hash = SHA256[auth+apiKey+secret+ts] 以此方式產生,secret為secret key 請洽詢我方窗口提供)

    您可以參考下列的案例,進行作業

    以post的方式將上述參數傳至您所提供的BillingCallbackURI(交易回傳網址)

    4. Google Play In App PurchaseAPI:

    此接口為您提供了Google play IAP遊戲內購買的服務,呼叫後引導玩家至Google Play進行消費,並於完成後由平台執行3-1,通知遊戲伺服器此次消費點數與交易序號,以下就是API的呼叫方式

    呼叫API時請帶入以下參數

    iabKey            String    (於Google Play 產生的交易金鑰,請洽詢我方窗口提供)
    productId        String    (於Google Play 申請的產品代碼,請洽詢我方窗口提供)
    extraInfo        String    (開發商自訂參數,此參數會在完成交易後,回傳至BillingCallbackURI,若不需自定參數請傳空字串)
    serveId              Int    (服務器序號,1为1服,2为2服)

    API將回傳您

    tradeId            String    (交易序號)

    您可以參考下列的案例,進行作業

    Example:
    Map<String, Object>params  =newHashMap<String, Object>();
                                params.put("iabKey", "Your IabKey");
                                params.put("productId", "Your ProductId");
                                params.put("extraInfo", "demo");
                                
    InAppBilling.goolePlayBilling(MainActivity.this, params, newInAppRequest.IRequestStatusCallback() {
                                    
    @Override
        publicvoidonComplete(JSONObject data) {
            // TODO Auto-generated method stub
            try {
                Log.d("tradeId", data.getString("tradeId"));
            } catch (JSONException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
                                        
        }
                                    
        @Override
        publicvoid fail(JSONObject data) {
            // TODO Auto-generated method stub
            try {
            } catch (JSONException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
                                    
        @Override
        publicvoid exception(JSONException e) {
            // TODO Auto-generated method stub                    
        }
    });
    
    備註:在呼叫的Activity中加入以下兩個method
    @Override
        publicvoidonActivityResult(intrequestCode, intresultCode, Intent data)
        {
            super.onActivityResult(requestCode, resultCode, data);
            
            // Pass on the activity result to the helper for handling
    if (!InAppBilling.mHelper.handleActivityResult(requestCode, resultCode, data)) {
    // not handled, so handle it ourselves (here's where you'd
    // perform any handling of activity results not related to in-app
    // billing...
    super.onActivityResult(requestCode, resultCode, data);
        }
    else {
    Log.d("MSG", "onActivityResult handled by IABUtil.");
        }
        }
        
        @Override
        publicvoidonDestroy()
        {
            if (InAppBilling.mHelper != null) InAppBilling.mHelper.dispose();
            InAppBilling.mHelper = null;
            super.onDestroy();
        }

    5.IapBiling API:

    此接口為您提供了台哥大遊戲內購買的服務,呼叫後引導玩家至IapBiling進行消費,並於完成後由平台執行3-1,通知遊戲伺服器此次消費點數與交易序號,以下就是API的呼叫方式

    呼叫API時請帶入以下參數

    point        String    (欲扣除的點數)
    productId    String    (商品名id)
    extraInfo    String    (開發商自訂參數,此參數會在完成交易後,回傳至BillingCallbackURI)
    ts            String    (時間戳記)
    hash        String    (驗證值hash = SHA256[auth+apiKey+secret+ts] 以此方式產生,secret為secret key 請洽詢我方窗口提供)
    uid         String  (玩家在平台的UUID)
    chennelId  string  厂商的渠道id(根据需要,可为空)
    serveId      Int    (服務器序號,1为1服,2为2服)

    備註:所傳參數key請用IapBiling定義的變量名

    您可以參考下列的案例,進行作業 ,如果AndroidManifest.xml的权限没有以下配置请添加:
    <uses-permission android:name="android.permission.INTERNET"/>
     <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
     <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    
    Xml 配置Activity 时加上android:configChanges="orientation",避免横切屏重新加载页面。
    如:
    <activity android:name=".IAP"
                      android:label="@string/app_name"
                      android:configChanges="orientation">
    另外在调用接口的Activity里面加上如下代码:
        @Override
        public void onConfigurationChanged(Configuration newConfig) {
            super.onConfigurationChanged(newConfig);
            if(iapBiling!=null)iapBiling.notifyOrientationChanged();
        }
    
    呼叫代码例子:
    HashMap<String,String> params = new HashMap<String, String>();
            params.put(IapBiling.PARAMS_POINT, "0");
            params.put(IapBiling.PARAMS_CHANNEL_ID, "0");
            params.put(IapBiling.PARAMS_CONTENT_ID, "GAO010000000010");
            params.put(IapBiling.PARAMS_TS, System.currentTimeMillis()+"");
            params.put(IapBiling.PARAMS_INAPP_USER_ID, "1010");
            params.put(IapBiling.PARAMS_EXTRA_INFO, "開發商自訂參數");
            //hash String    (驗證值hash = SHA256[auth+apiKey+secret+ts] 以此方式產生,secret為secret key 請洽詢我方窗口提供)
            params.put(IapBiling.PARAMS_HASH, "444");
            iapBiling = new IapBiling(this, params,new IRequestStatusCallback() {
                @Override
                public void onComplete(JSONObject data) {
                    Log.d("iap onComplete", data.toString());
                }
                
                @Override
                public void fail(JSONObject data) {
                    Log.d("iap fail", data.toString());    
                }
                @Override
                public void exception(JSONException e) {
    
                    Log.d("iap exception", e.getMessage());
                }
            });
    交易成功將返回如:{"ERR_CODE":"1","resultMsg":"u5145u503cu6210u529f"}
    ERR_CODE不為1,將返回失敗的原因。

    6. publishTapjoyADInstallAsync API:

    此接口為串接Tapjoy廣告系統的服務,用於統計使用者導入安裝等相關訊息,會由平台窗口於平台後端建入專屬金鑰,以下就是API的呼叫方式

    APP起動時的第一個Activity onCreate()內進行login並取得使用者UID後,呼叫API 如下方範例圖,請務必照這順序進行

    Example:可參照下方附圖,並依照你所定義的class名稱進行呼叫
    InAppAD.publishTapjoyADInstallAsync(getApplicationContext());

    完成呼叫後,可與我方窗口洽詢,是否成功計數

    7. publishInMobiADInstallAsync API:

    此接口為串接inmobi廣告系統的服務,用於統計使用者導入安裝等相關訊息,會由平台窗口於平台後端建入專屬金鑰,以下就是API的呼叫方式

    在APP起動時的第一個Activity onCreate()內進行login並取得使用者UID後,呼叫API 如下方範例圖,請務必照這順序進

    Example:可參照下方附圖,並依照你所定義的class名稱進行呼叫
    InAppAD.publishTapjoyADInstallAsync(getApplicationContext());

    完成呼叫後,可與我方窗口洽詢,是否成功計數

    8. publishFacebookADInstallAsync API:

    此接口為串接Facebook廣告系統的服務,用於統計使用者導入安裝等相關訊息,會由平台窗口於平台後端建入專屬金鑰,以下就是

    API的呼叫方式

    APP起動時的第一個Activity onCreate()內進行login並取得使用者UID後,呼叫API 如下方範例圖,請務必照這順序進行

    Example:可參照下方附圖,並依照你所定義的class名稱進行呼叫
    InAppAD.publishTapjoyADInstallAsync(getApplicationContext());

    完成呼叫後,可與我方窗口洽詢,是否成功計數

    9. 登陆游戏后,点击服务分区调用的接口:

    此接口為您提供了我們記錄玩家入口伺服器分區資訊服務,驗證的型式為Server-to-Server (auth值驗證),以下就是API的呼叫方式

    呼叫API時請帶入以下參數

    apiKey        String    (開發商apiKey)
    uid            String    (玩家在平台的UUID)
    imei        String    (玩家手机全球唯一码)
    ts            String    (時間戳記)     
    auth        String    (使用者登入auth值)
    serveId      Int    (服務器序號,1为1服,2为2服)   
    hash        String    (驗證值hash = SHA256[auth+apiKey+secret+ts] 以此方式產生,secret為secret key 請洽詢我方窗口提供)

     API將回傳您

    ERR_CODE    INT        (錯誤碼)
    ERR_MSG    String    (錯誤訊息)

     您可以參考下列的案例,進行作業

    ERR_CODE    INT        (錯誤碼)
    ERR_MSG    String    (錯誤訊息)

    以上若有相關問題,請連繫我們的窗口,我們將盡快為您服務

    連繫窗口 : 王毅
    QQ    : 2541623933
    Email:yi.wang@cregame.net
    電話:+86 755 86607479
    手机:18907580817
  • 相关阅读:
    021.NET5_Autofac多种注入方式
    020.NET5_Autofac初识
    018-019 NET5_内置容器支持依赖注入+IServiceCollection的生命周期
    017.NET5_内置容器基本使用
    设计库和表从哪些方面考虑(MYSQL)
    MD5的如何加密空字符串的(PHP)
    Think php 5登陆注册session储存
    think php 5(命令行)创建控制器、model
    PHP面试题(个人总结)————(暂不更新)
    PHP中的curl库使用
  • 原文地址:https://www.cnblogs.com/jthb/p/3279316.html
Copyright © 2011-2022 走看看