1.1 账号部分

1.1.1 游客登录

说明

  • 登陆方式选择界面,点击GameStart按钮调用此API

接口

public void guestLogin(final CydoniaJPSDKCallbackListener sdkCallback)

参数说明

  • 无参数

示例

mCydoniaSDK.guestLogin(new CydoniaJPSDKCallbackListener() {
                    @Override
                    public void onResult(String params) {
                        System.out.println("Demo guestLogin onResult:"+params);
                        try {
                            JSONObject resultObject = new JSONObject(params);
                            if (resultObject.getInt("status") == 200) {
                                JSONObject dataObject = resultObject.getJSONObject("data");
                                Log.d(SDKDEMOTAG, "status:" + resultObject.get("status") + ", userId:" + dataObject.get("userId")
                                        + ", message:" + resultObject.get("msg"));
                                System.out.println("Demo guestLogin result:" + "status:" + resultObject.get("status")
                                        + ", userId:" + dataObject.get("userId") + ", message:" + resultObject.get("msg"));

                            }else {
                                Log.d(SDKDEMOTAG, "status:" + resultObject.get("status") + ", message:" + resultObject.get("msg"));
                                System.out.println("Demo guestLogin result:" + "status:" + resultObject.get("status")
                                        + ", message:" + resultObject.get("msg"));
                            }
                        } catch (JSONException e) {
                            e.printStackTrace();
                        }


                    }
                });

1.1.2 获取SDK玩家ID

说明

  • 获取SDK发行的userID,每个玩家的userID是唯一的

  • 此userID在其他登陆方式的返回中也会返回

接口

public String getUserId()

参数说明

  • 无参数

示例

String userId = mCydoniaSDK.getUserId();

1.1.3 获取继承ID

说明

  • 获取继承ID,显示在继承密码设定界面

接口

public void getMigrateId(final CydoniaJPSDKCallbackListener sdkCallback)

参数说明

  • 无参数

示例

mCydoniaSDK.getMigrateId(new CydoniaJPSDKCallbackListener() {

                    @Override
                    public void onResult(String params) {
                        // Log.d(SDKDEMOTAG, response);
                        System.out.println("Demo getMigrateId response:"+params);
                        try {
                            JSONObject resultObject = new JSONObject(params);
                            if (resultObject.getInt("status") == 200) {
                                JSONObject dataObject = resultObject.getJSONObject("data");
                                Log.d(SDKDEMOTAG, "status:" + resultObject.get("status") + ", migrateId:"
                                        + dataObject.get("migrateId") + ", message:" + resultObject.get("msg"));

                                System.out.println("Demo getMigrateId result ok:" + "status:" + resultObject.get("status")
                                        + ", migrateId:" + dataObject.get("migrateId") + ", message:" + resultObject.get("msg"));

                            } else {
                                Log.d(SDKDEMOTAG, "status:" + resultObject.get("status") + ", message:" + resultObject.get("msg"));
                                System.out.println("Demo getMigrateId result error:" + "status:" + resultObject.get("status")
                                        + ", message:" + resultObject.get("msg"));
                            }


                        }catch (JSONException e) {
                            e.printStackTrace();
                        }


                    }
                });

1.1.4 玩家登出

说明

  • 如果有玩家登出按钮需调用此API

接口

public void userLogout()

参数说明

  • 无参数

示例

mCydoniaSDK.userLogout();

1.1.5 是否设定过继承密码

说明

  • 检测该账号是否设定过继承密码

接口

public Boolean isPasswordSet()

参数说明

  • 无参数

示例

if (mCydoniaSDK.isPasswordSet()) {
    Log.d(SDKDEMOTAG, "you have set password");
    System.out.println("Demo isPasswordSet: yes");
  } else {
    Log.d(SDKDEMOTAG, "password is not set yet");
    System.out.println("Demo isPasswordSet: no");
  }

1.1.6 设定继承密码

说明

  • 给账号设定继承密码

接口

public void setMigratePass(String pass1, String pass2, final CydoniaJPSDKCallbackListener sdkCallback)

参数说明

  • pass1: 玩家第一次输入的密码

  • pass2: 玩家第二次输入的密码

示例

mCydoniaSDK.setMigratePass(pass1, pass2, new CydoniaJPSDKCallbackListener() {

                    @Override
                    public void onResult(String params) {
                        try {
                            JSONObject resultObject = new JSONObject(params);
                            Log.d(SDKDEMOTAG, "status:" + resultObject.get("status") + ", message:" + resultObject.get("msg"));
                            System.out.println("Demo setMigratePass result:" + "status:" + resultObject.get("status")
                                    + ", message:" + resultObject.get("msg"));

                        }catch (JSONException e) {
                            e.printStackTrace();
                        }
                    }
                });

1.1.7 玩家继承

说明

玩家在另一台设备通过继承ID和继承密码来继承登录游戏的时候调用此API

接口

public void migratedevice(String migrateId, String password, final CydoniaJPSDKCallbackListener sdkCallback)

参数说明

  • migrateId: 玩家输入的继承ID

  • password: 玩家输入的继承密码

示例

mCydoniaSDK.migratedevice(mId, mPass, new CydoniaJPSDKCallbackListener() {

                    @Override
                    public void onResult(String params) {
                        // Log.d(SDKDEMOTAG, response);
                        try {
                            JSONObject resultObject = new JSONObject(params);
                            if (resultObject.getInt("status") == 200) {
                                JSONObject dataObject = resultObject.getJSONObject("data");

                                Log.d(SDKDEMOTAG, "status:" + resultObject.get("status") + ", userId:" + dataObject.get("userId")
                                        + ", migrateId:" + dataObject.get("migrateId") + ", message:" + resultObject.get("msg"));
                                System.out.println("Demo migratedevice result:" + "status:" + resultObject.get("status")
                                        + ", userId:" + dataObject.get("userId") + ", migrateId:" + dataObject.get("migrateId")
                                        + ", message:" + resultObject.get("msg"));
                            } else {
                                Log.d(SDKDEMOTAG, "status:" + resultObject.get("status") + ", message:" + resultObject.get("msg"));
                                System.out.println("Demo migratedevice result:" + "status:" + resultObject.get("status")
                                        + ", message:" + resultObject.get("msg"));
                            }
                        }catch (JSONException e) {
                            e.printStackTrace();
                        }

                    }
                });

1.1.8 SNS账号部分

几种SNS登录方式类同,仅拿一种进行说明。

SNS分享只有Twitter和Facebook两种SNS有。

Twitter部分

1.1.8.1 Twitter账号是否绑定

说明

判断Twitter账号是够绑定

接口

public Boolean isTwitterBind()

参数说明

示例

//Twitter是否绑定
if(mCydoniaSDK.isTwitterBind()){
    System.out.println("Demo isTwitterBind: yes");
}else{
    System.out.println("Demo isTwitterBind: no");
}

1.1.8.2 绑定Twitter账号

说明

对于还没有绑定Twitter账号的玩家,可以通过此API实现绑定

接口

public void bindTwitter(final CydoniaJPSDKCallbackListener sdkCallback)

参数说明

示例

//绑定Twitter
                mCydoniaSDK.bindTwitter(new CydoniaJPSDKCallbackListener() {

                    @Override
                    public void onResult(String params) {
                        try {
                            JSONObject resultObject = new JSONObject(params);
                            if (resultObject.getInt("status") == 200) {
                                System.out.println("Demo bindTwitter success");
                            } else {
                                Log.d(SDKDEMOTAG, "status:" + resultObject.get("status") + ", message:" + resultObject.get("msg"));
                                System.out.println("Demo bindTwitter failed result:" + "status:" + resultObject.get("status")
                                        + ", message:" + resultObject.get("msg"));
                            }
                        }catch (JSONException e) {
                            e.printStackTrace();
                        }

                    }
                } );

1.1.8.3 Twitter账号解绑

说明

对于已经绑定过Twitter账号的玩家,可以通过此API实现解绑

接口

public void unbindTwitter(final CydoniaJPSDKCallbackListener sdkCallback)

参数说明

示例

//unBindTwitter
                mCydoniaSDK.unbindTwitter(new CydoniaJPSDKCallbackListener() {

                    @Override
                    public void onResult(String params) {

                        try {
                            JSONObject resultObject = new JSONObject(params);

                            if (resultObject.getInt("status") == 200) {
                                System.out.println("Demo unbindTwitter success");
                            } else {
                                Log.d(SDKDEMOTAG, "status:" + resultObject.get("status") + ", message:" + resultObject.get("msg"));
                                System.out.println("Demo unbindTwitter failed result:" + "status:" + resultObject.get("status")
                                        + ", message:" + resultObject.get("msg"));
                            }
                        }catch (JSONException e) {
                            e.printStackTrace();
                        }



                    }
                } );

1.1.8.4 Twitter账号登录

说明

使用Twitter账号登录游戏,返回数据的数据结构与游客登录方式

接口

-(void) twitterMigrate:(SDKResponseBlock) sdkResponse;

参数说明

示例

//Twitter登录
                //如果登录成功,返回的数据与普通玩家登陆相同
                mCydoniaSDK.twitterMigrate(new CydoniaJPSDKCallbackListener() {

                    @Override
                    public void onResult(String params) {

                        try {
                            JSONObject resultObject = new JSONObject(params);
                            if (resultObject.getInt("status") == 200) {
                                JSONObject dataObject = resultObject.getJSONObject("data");
                                System.out.println("Demo twitterMigrate result:" + "status:" + resultObject.get("status")
                                        + ", userId:" + dataObject.get("userId") + ", message:" + resultObject.get("msg"));

                            } else {
                                Log.d(SDKDEMOTAG, "status:" + resultObject.get("status") + ", message:" + resultObject.get("msg"));
                                System.out.println("Demo twitterMigrate failed result:" + "status:" + resultObject.get("status")
                                        + ", message:" + resultObject.get("msg"));
                            }
                        }catch (JSONException e) {
                            e.printStackTrace();
                        }
                    }
                } );

1.1.8.5 Twitter账号分享

说明

Twitter和Facebook提供了分享功能

接口

public void twitterShareMsgTagsAndImage( String textMsg, String hashTags, Uri imageUri )

参数说明

  • textMsg:Twitter需要分享的文本

  • hashTags: 需要使用的hashTag

  • imgUri:图片文件的路径

示例

//uri为必须,格式参照https://github.com/twitter/twitter-kit-android/wiki/Compose-Tweets
//The image Uri should be a Uri using the content:// scheme
//image Uri使用 content:// sheme
File imgFile = new File("/storage/emulated/0/Download/a.jpg");
Uri imageUri = getImageContentUri(MainActivity.this, imgFile);
mCydoniaSDK.twitterShareMsgTagsAndImage("Hello World Message", "#sdk", imageUri);

Facebook部分

public Boolean isFacebookBind()
public void bindFacebook(final CydoniaJPSDKCallbackListener sdkCallback)
public void unbindFacebook(final CydoniaJPSDKCallbackListener sdkCallback)
public void facebookMigrate(final CydoniaJPSDKCallbackListener sdkCallback)
public void facebookShareMsgTagsAndImage( String hashTags, Uri imageUri ,final CydoniaJPSDKCallbackListener sdkCallback)

*Facebook分享不允许给默认信息

Google部分

public void googleMigrate(final CydoniaJPSDKCallbackListener sdkCallback)

Last updated