提交 ab22c954 作者: 刘添

Merge remote-tracking branch 'origin/master'

No preview for this file type
v1.0 v1.0
...@@ -33,6 +33,8 @@ v1.0 ...@@ -33,6 +33,8 @@ v1.0
| room_id | 否 | String | 聊天ID | | | room_id | 否 | String | 聊天ID | |
| room_name | 否 | String | 聊天室名 | | | room_name | 否 | String | 聊天室名 | |
| server_id | 否 | String | 区服ID | | | server_id | 否 | String | 区服ID | |
| game_version | 否 | String | 游戏版本号 用于游戏区分不同版本 | |
| receive_id | 否 | String | 消息接受者 私聊场景下聊天对象的用ID或角色ID | |
......
## ZYouSDK V1.0.0文档接入使用 ## ZYouSDK V1.0.0文档接入使用
...@@ -49,6 +49,29 @@ ...@@ -49,6 +49,29 @@
               [调用示例](#sec9.1)                [调用示例](#sec9.1)
    10 [SDK 排行榜](#sec10)
        接口说明
        调用方式
        请求参数
        示例
    11 [SDK 角色行为上报](#sec11)
        接口说明
        调用方式
        请求参数
        返回参数
        示例
        参数枚举
#### 1、对接说明 <a name="sec1"></a> #### 1、对接说明 <a name="sec1"></a>
&nbsp;&nbsp; 1.1、此sdk只支持iOS9.0以上版本 &nbsp;&nbsp; 1.1、此sdk只支持iOS9.0以上版本
...@@ -589,5 +612,140 @@ payNotify(); ...@@ -589,5 +612,140 @@ payNotify();
} }
``` ```
### 10 SDK 排行榜<a name="sec10"></a>
---
##### 接口说明
> 用户在点击排行榜按钮(或链接) 将角色信息和服务器信息通过参数传入sdk
##### 请求参数
> | 参数 | 必选 | 类型 | 默认值 | 说明 |
> | :------------------------------------------------------------ | :---- | :----- | :------- | :--------------------------------------------------------------------------------------------------- |
> | role | true | Object | - | 角色相关 |
> | &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;server_id | true | String | "" | 游戏服务器 ID |
> | &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;server_name | true | String | "" | 游戏服务器名称 |
> | &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cp_role_id | true | String | "" | 玩家角色 ID |
> | &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;role_name | true | String | "" | 玩家角色名称 |
##### 示例
```
[[ZYouManager shareInstance]zy_rankingWithcp_role_id:@"233" server_name:@"西游一服" server_id:@"87896" role_name:@"hhhh" SuccessBlock:^(id _Nonnull responseObject) {
} failureBlock:^(NSString * _Nonnull error) {
}];
```
### 11 SDK 角色行为上报<a name="sec11"></a>
---
##### 接口说明
> 此方法用于上报角色行为,需在角色有对应行为时调用此方法。
##### 请求参数
> | 参数 | 必选 | 类型 | 默认值 | 说明 | |
> | :------------ | :--- | :----- | :----- | :-------------------------------------------------------------------------------------------------------------------------------------- | --- |
> | role_name | true | String | - | 角色名称 |
> | cp_role_id | true | String | - | cp角色id |
> | event | true | String | - | 事件类型 |
> | qureys | true | Array[{name, value}] | - | 属性 |
> | &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name | true | String | - | 属性名(中文) |
> | &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;value | true | String | - | 属性值 |
##### 示例
```
[[ZYouManager shareInstance]zy_gameReportcp_role_id:@"CP角色id" role_name:@"角色名" event:@"coin_get" querys:@[@{@"name":@"货币id",@"value":@"123"},@{@"name":@"货币产出途径",@"value":@"掉落"},@{@"name":@"变动前数量",@"value":@"59"},@{@"name":@"变动数量",@"value":@"32"},@{@"name":@"变动后数量",@"value":@"91"}] SuccessBlock:^(id _Nonnull responseObject) {
} failureBlock:^(NSString * _Nonnull error) {
dispatch_async(dispatch_get_main_queue(), ^{
CCToastView *view = [[CCToastView alloc]init];
[view makeToast:error inView:self.view];
});
}];
```
##### 参数枚举
EVENT枚举
> | EVENT | 说明 |
> | ---------------- | -------- |
> | coin_get | 货币产出 |
> | coin_cost | 货币消耗 |
> | item_get | 道具产出 |
> | item_cost | 道具消耗 |
> | shop | 商城购买 |
> | task_complete | 任务完成 |
> | newplayer_guide | 新手指引 |
> | mail | 邮件操作 |
EVENT属性对应关系
> | coin_get 属性名 |
> | --------------- |
> | 货币ID |
> | 货币产出途径 |
> | 变动前数量 |
> | 变动数量 |
> | 变动后数量 |
> | coin_cost 属性名 |
> | --------------- |
> | 货币ID |
> | 货币消耗途径 |
> | 变动前数量 |
> | 变动数量 |
> | 变动后数量|
> | item_get 属性名 |
> | --------------- |
> | 道具ID |
> | 道具类型 |
> | 道具产出途径 |
> | 变动前数量 |
> | 变动数量|
> | 变动后数量|
> | item_cost 属性名 |
> | --------------- |
> | 道具ID |
> | 道具类型 |
> | 道具消耗途径 |
> | 变动前数量 |
> | 变动数量|
> | 变动后数量|
> | shop 属性名 |
> | --------------- |
> | 商城ID |
> | 购买道具ID |
> | 购买道具数量 |
> | 消耗货币ID |
> | 单价|
> | 消耗货币数量|
> | task_complete 属性名 |
> | --------------- |
> | 任务ID |
> | 任务类型 |
> | 任务奖励 |
> | newplayer_guide 属性名 |
> | --------------- |
> | 步骤ID |
> | mail 属性名 |
> | --------------- |
> | 邮件操作类型 |
> | 邮件ID |
> | 邮件类型 |
> | 邮件标题 |
> | 邮件附件 |
> | 邮件到期时间 |
## ZYouSDK V1.0.0文档接入使用 ## ZYouSDK V1.0.0文档接入使用
...@@ -32,13 +32,19 @@ ...@@ -32,13 +32,19 @@
&nbsp;&nbsp;&nbsp;&nbsp;8 [数据埋点](#sec8) &nbsp;&nbsp;&nbsp;&nbsp;8 [数据埋点](#sec8)
&nbsp;&nbsp;&nbsp;&nbsp;9 [展示广告](#sec9) &nbsp;&nbsp;&nbsp;&nbsp;9.1 [创建广告](#sec9.1)
&nbsp;&nbsp;&nbsp;&nbsp;9.2 [展示广告](#sec9.2)
&nbsp;&nbsp;&nbsp;&nbsp;9.3 [广告回调](#sec9.3)
&nbsp;&nbsp;&nbsp;&nbsp;10 [退出登录](#sec10) &nbsp;&nbsp;&nbsp;&nbsp;10 [退出登录](#sec10)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[调用示例](#sec10.1) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[调用示例](#sec10.1)
&nbsp;&nbsp;&nbsp;&nbsp;11 [数据保存与获取](#sec11)
&nbsp;&nbsp;&nbsp;&nbsp;11 [服务端登录验证接口](#sec11) &nbsp;&nbsp;&nbsp;&nbsp;12 [服务端登录验证接口](#sec12)
#### 1、对接说明 <a name="sec1"></a> #### 1、对接说明 <a name="sec1"></a>
&nbsp;&nbsp; 1.1、此sdk只支持iOS12.0以上版本 &nbsp;&nbsp; 1.1、此sdk只支持iOS12.0以上版本
&nbsp;&nbsp; 1.2、此sdk支持横竖屏 &nbsp;&nbsp; 1.2、此sdk支持横竖屏
...@@ -77,11 +83,24 @@ ...@@ -77,11 +83,24 @@
![ios_overseas2.png](https://zyapk.zwnet.cn/ios_overseas/ios_overseas2.png) ![ios_overseas2.png](https://zyapk.zwnet.cn/ios_overseas/ios_overseas2.png)
&nbsp;&nbsp;&nbsp;&nbsp; 3.2.4 添加 APPsFlyerLib 搜索 https://github.com/AppsFlyerSDK/AppsFlyerFramework 进行添加 &nbsp;&nbsp;&nbsp;&nbsp; 3.2.4 添加 APPsFlyerLib 搜索 https://github.com/AppsFlyerSDK/AppsFlyerFramework 进行添加
![ios_overseas3.png](https://zyapk.zwnet.cn/ios_overseas/ios_overseas3.png) ![ios_overseas3.png](https://zyapk.zwnet.cn/ios_overseas/ios_overseas3.png)
&nbsp;&nbsp;&nbsp;&nbsp; 3.2.5 集成 max 广告,需要添加AppLovinSDK,AppLovinMediationGoogleAdapter,AppLovinMediationIronSourceAdapter,AppLovinMediationFacebookAdapter,AppLovinMediationByteDanceAdapter,AppLovinMediationUnityAdsAdapter 仅支持pods集成
&nbsp;&nbsp;&nbsp;&nbsp; 3.2.6 集成 Firebase
``` ```
使用pods集成 <!--使用pods集成 复制以下代码到podfile文件中-->
pod 'AppsFlyerFramework' pod 'AppsFlyerFramework'
pod 'FBSDKCoreKit' pod 'FBSDKCoreKit'
pod 'FBSDKLoginKit' pod 'FBSDKLoginKit'
pod 'FirebaseAnalytics'
pod 'FirebaseAuth'
pod 'FirebaseFirestore'
pod 'AppLovinSDK'
pod 'AppLovinMediationGoogleAdapter'
pod 'AppLovinMediationIronSourceAdapter'
pod 'AppLovinMediationFacebookAdapter'
pod 'AppLovinMediationByteDanceAdapter'
pod 'AppLovinMediationUnityAdsAdapter'
``` ```
&nbsp;&nbsp;&nbsp;&nbsp; 3.3、添加依赖 TARGETS -> Build Phases -> Link Binary With Libraries 下添加以下库 libsqlite3.tbd ,AdSupport.framework &nbsp;&nbsp;&nbsp;&nbsp; 3.3、添加依赖 TARGETS -> Build Phases -> Link Binary With Libraries 下添加以下库 libsqlite3.tbd ,AdSupport.framework
...@@ -359,18 +378,18 @@ app启动时调用注册sdk 在AppDelegate文件中#import "ZYouTool.h" 调用 ...@@ -359,18 +378,18 @@ app启动时调用注册sdk 在AppDelegate文件中#import "ZYouTool.h" 调用
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch. // Override point for customization after application launch.
//此注册方法需要在游戏初始化之前调用 //此注册方法需要在游戏初始化之前调用
[ZYouTool registerGameWithApplication:application options:launchOptions]; [RMinerManager registerGameWithApplication:application options:launchOptions];
return YES; return YES;
} }
- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<NSString *,id> *)options { - (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<NSString *,id> *)options {
return [ZYouTool application:app openURL:url options:options]; return [RMinerManager application:app openURL:url options:options];
} }
- (void)applicationDidBecomeActive:(UIApplication *)application { - (void)applicationDidBecomeActive:(UIApplication *)application {
[ZYouTool applicationDidBecomeActive:application]; [RMinerManager applicationDidBecomeActive:application];
} }
``` ```
...@@ -429,7 +448,7 @@ app启动时调用注册sdk 在AppDelegate文件中#import "ZYouTool.h" 调用 ...@@ -429,7 +448,7 @@ app启动时调用注册sdk 在AppDelegate文件中#import "ZYouTool.h" 调用
``` ```
//全局监听登录回调 //全局监听登录回调
[[ZYouTool sharedInstance]loginViewSuccessBlock:^(id _Nonnull responseObject) { [[RMinerManager sharedInstance]loginViewSuccessBlock:^(id _Nonnull responseObject) {
//登录成功返回信息 //登录成功返回信息
//此处可以调用服务端登录验证 //此处可以调用服务端登录验证
} failureBlock:^(NSString * _Nonnull error) { } failureBlock:^(NSString * _Nonnull error) {
...@@ -481,7 +500,7 @@ app启动时调用注册sdk 在AppDelegate文件中#import "ZYouTool.h" 调用 ...@@ -481,7 +500,7 @@ app启动时调用注册sdk 在AppDelegate文件中#import "ZYouTool.h" 调用
}; };
//roleId 角色ID //roleId 角色ID
[[ZYouTool sharedInstance] payWithOrder:order role:role roleId:@"1314900" successBlock:^(id _Nonnull responseObject) { [[RMinerManager sharedInstance] payWithOrder:order role:role roleId:@"1314900" successBlock:^(id _Nonnull responseObject) {
} failureBlock:^(NSString * _Nonnull error) { } failureBlock:^(NSString * _Nonnull error) {
}]; }];
...@@ -549,7 +568,7 @@ app启动时调用注册sdk 在AppDelegate文件中#import "ZYouTool.h" 调用 ...@@ -549,7 +568,7 @@ app启动时调用注册sdk 在AppDelegate文件中#import "ZYouTool.h" 调用
@"main_city_level":@"", //官邸等级 @"main_city_level":@"", //官邸等级
@"chapter_index":@"" // 章节等级 @"chapter_index":@"" // 章节等级
}; };
[[ZYouTool sharedInstance]reportRoleInfoWithRole:dic successBlock:^(id _Nonnull responseObject) { [[RMinerManager sharedInstance]reportRoleInfoWithRole:dic successBlock:^(id _Nonnull responseObject) {
NSLog(@"上报成功"); NSLog(@"上报成功");
} failureBlock:^(NSString * _Nonnull error) { } failureBlock:^(NSString * _Nonnull error) {
...@@ -595,31 +614,80 @@ app启动时调用注册sdk 在AppDelegate文件中#import "ZYouTool.h" 调用 ...@@ -595,31 +614,80 @@ app启动时调用注册sdk 在AppDelegate文件中#import "ZYouTool.h" 调用
### 8、数据埋点<a name="sec8"></a> ### 8、数据埋点<a name="sec8"></a>
#### 调用示例 #### 调用示例
``` ```
[[ZYouTool sharedInstance]logEventName:@"事件名称" parameters:@{}]; [[RMinerManager sharedInstance]logEventName:@"purchase_1st" parameters:@{@"num":@1,@"amount":@"2.99"}];
``` ```
### 9、广告展示<a name="sec9"></a> ### 9.1、广告创建<a name="sec9.1"></a>
#### 调用示例 #### 调用示例
``` ```
//合适的时间提前加载广告 <!-- //激励广告-->
[[ZYouTool sharedInstance]loadRewardedAd:GADAdTypeRewardedAd successBlock:^{ [[RMinerManager sharedInstance]createRewardedAd:@"b128008165895357"];
//广告加载完
} failureBlock:^(NSString * _Nonnull error) { <!-- 创建插屏广告-->
[[RMinerManager sharedInstance]createInterstitialAd:@"91ec81a90e6164d2"];
```
### 9.2、广告显示<a name="sec9.2"></a>
#### 调用示例
```
<!-- 显示激励广告-->
[[RMinerManager sharedInstance]showRewardedAd];
<!-- 显示插屏广告-->
[[RMinerManager sharedInstance]showInterstitialAd];
```
### 9.3、广告回调<a name="sec9.3"></a>
#### 调用示例
```
//加载完成回调
[[RMinerManager sharedInstance]didLoadAdBlock:^(id _Nonnull ad) {
MAAd *mad = ad;
NSLog(@"广告加载完成=%@",mad.adUnitIdentifier);
}]; }];
//展示广告 //加载失败回调
[ZYouTool.sharedInstance rewardedAdShowWith:self successBlock:^(NSString * _Nonnull type, NSDecimalNumber * _Nonnull amount) { [[RMinerManager sharedInstance]didFailToLoadAdForAdUnitIdentifierBlock:^(NSString * _Nonnull adUnitIdentifier, id _Nonnull error) {
//观看完广告 MAError *merror = error;
} failureBlock:^(NSString * _Nonnull error) { }];
//显示广告回调
[[RMinerManager sharedInstance]didDisplayAdBlock:^(id _Nonnull ad) {
MAAd *mad = ad;
NSLog(@"广告显示=%@",mad.adUnitIdentifier);
}];
//点击广告回调
[[RMinerManager sharedInstance]didClickAdBlock:^(id _Nonnull ad) {
MAAd *mad = ad;
NSLog(@"广告点击=%@",mad.adUnitIdentifier);
}];
//关闭广告回调
[[RMinerManager sharedInstance]didHideAdBlock:^(id _Nonnull ad) {
MAAd *mad = ad;
NSLog(@"关闭广告=%@",mad.adUnitIdentifier);
}];
//关闭广告失败回调
[[RMinerManager sharedInstance]didFailToDisplayAdBlock:^(id _Nonnull ad, id _Nonnull error) {
MAAd *mad = ad;
MAError *merror = error;
}];
//获得奖励回调
[[RMinerManager sharedInstance]didRewardUserForAdBlock:^(id _Nonnull ad, id _Nonnull reward) {
MAAd *mad = ad;
MAReward *mreward = reward;
NSLog(@"获得广告奖励=%@",mad.adUnitIdentifier);
}]; }];
``` ```
### 10、退出登录<a name="sec10"></a> ### 10、退出登录<a name="sec10"></a>
``` ```
...@@ -632,7 +700,7 @@ app启动时调用注册sdk 在AppDelegate文件中#import "ZYouTool.h" 调用 ...@@ -632,7 +700,7 @@ app启动时调用注册sdk 在AppDelegate文件中#import "ZYouTool.h" 调用
#### 调用示例<a name="sec10.1"></a> #### 调用示例<a name="sec10.1"></a>
``` ```
[[ZYouTool sharedInstance]loginoutAlertSuccessBlock:^(id _Nonnull responseObject) { [[RMinerManager sharedInstance]loginoutAlertSuccessBlock:^(id _Nonnull responseObject) {
} failureBlock:^(NSString * _Nonnull error) { } failureBlock:^(NSString * _Nonnull error) {
...@@ -648,16 +716,35 @@ app启动时调用注册sdk 在AppDelegate文件中#import "ZYouTool.h" 调用 ...@@ -648,16 +716,35 @@ app启动时调用注册sdk 在AppDelegate文件中#import "ZYouTool.h" 调用
#### 调用示例 #### 调用示例
``` ```
//监听从个人中心退出操作 //监听从个人中心退出操作
[[ZYouTool sharedInstance]loginoutSuccessBlock:^{ [[RMinerManager sharedInstance]loginoutSuccessBlock:^{
NSLog(@"退出登录"); NSLog(@"退出登录");
}]; }];
``` ```
- 说明:此方法会监听sdk从个人中心退出 如游戏需要退出可以在此回调方法中操作 - 说明:此方法会监听sdk从个人中心退出 如游戏需要退出可以在此回调方法中操作
#### 数据保存与获取<a name="sec11"></a>
- 说明:此方法仅提供用于单机游戏保存游戏进度(不需要可忽略)
#### 调用示例
```
//保存数据 参数使用方自定义
[[RMinerManager sharedInstance]setMemberInfoWithType:@"1" detail:@"some thing" successBlock:^(id _Nonnull responseObject) {
} failureBlock:^(NSString * _Nonnull error) {
}];
//获取数据 参数使用方自定义
[[RMinerManager sharedInstance]getMemberInfoWithType:@"1" successBlock:^(id _Nonnull responseObject) {
} failureBlock:^(NSString * _Nonnull error) {
}];
```
#### 服务端登录验证接口<a name="sec11"></a> #### 服务端登录验证接口<a name="sec12"></a>
## 服务端接口 调用方直接使用http 调用接口: ## 服务端接口 调用方直接使用http 调用接口:
### 接口地址 ### 接口地址
......
## GameSDKV1.0文档接入使用 ## GameSDKV1.0文档接入使用
...@@ -114,7 +114,7 @@ ...@@ -114,7 +114,7 @@
#### 3.1、在app工程目录build.gradle中添加依赖<a name="sec3.1"></a> #### 3.1、在app工程目录build.gradle中添加依赖<a name="sec3.1"></a>
``` ```
implementation("com.zw.game.sdk:gameSDk:1.0.1") implementation("com.zw.game.sdk:gameSDk:1.0.8")
...@@ -136,10 +136,11 @@ ...@@ -136,10 +136,11 @@
} }
mavenCentral() mavenCentral()
jcenter() jcenter()
//掌玩SDK //掌玩SDK
maven {
url 'http://nexus.zwwlkj01.top/repository/Tencent-SDK/'
maven { url 'http://nexus.zwwlkj01.top/repository/ZW-YingYongBao/' } allowInsecureProtocol=true
}
``` ```
#### 3.3本地ARR在gradle依赖 #### 3.3本地ARR在gradle依赖
...@@ -153,9 +154,10 @@ ...@@ -153,9 +154,10 @@
#### 示例<a name="sec3.3"></a> #### 示例<a name="sec3.3"></a>
![示例1](https://zhangsheng-1300623068.cos.ap-guangzhou.myqcloud.com/android_game_png1.png)
![示例2](https://zhangsheng-1300623068.cos.ap-guangzhou.myqcloud.com/android_ganmepng2.png) ![示例1](https://zhangsheng-1300623068.cos.ap-guangzhou.myqcloud.com/tencent/%E5%BE%AE%E4%BF%A1%E5%9B%BE%E7%89%87_20240830164650.png)
![示例2](https://zhangsheng-1300623068.cos.ap-guangzhou.myqcloud.com/tencent/%E5%BE%AE%E4%BF%A1%E5%9B%BE%E7%89%87_20240830164656.png)
### 四、配置清单文件(具体请参考demo)<a name="sec4"></a> ### 四、配置清单文件(具体请参考demo)<a name="sec4"></a>
...@@ -201,14 +203,52 @@ ...@@ -201,14 +203,52 @@
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); setContentView(R.layout.activity_main);
ApiSdkService.getInstance().init(this); init();
} }
} }
private void init() {
GameService.getInstance().onCreate(this, new InitZyCallback() {
@Override
public void onSuccess(int status) {
ApiSdkService.getInstance().init(this);
}
@Override
public void onFailed(Object o) {
}
});
//配置横竖屏,等一些可配置信息
ConfigInfo.allowPORTRAIT = false;
GameService.getInstance().setIcon(com.zw.game.sdk.R.drawable.chuanqi);//动态设备应用宝支付ICON,可选
}
``` ```
### Applicaiton中示例(必须)Application需要再注册清单中配置
```
public class App extends BaseApplication {
@Override
public void onCreate() {
super.onCreate();
GameApplicationService.getInstance().onCreate(this);
}
}
```
### 六、SDK登录<a name="sec6"></a> ### 六、SDK登录<a name="sec6"></a>
1、添加登录回调监听<a name="sec6.1"></a> 1、添加登录回调监听<a name="sec6.1"></a>
``` ```
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论