提交 c67a6200 作者: 闫永超

合并分支 'release' 到 'master'

海外iOSv1.0 埋点数据

查看合并请求 zwwl/zw_game_sdk!142
No preview for this file type
No preview for this file type
## ZYouSDK V1.0.0文档接入使用
## ZYouSDK V1.0.0文档接入使用
......@@ -22,23 +22,28 @@
               [调用示例](#sec6.2)
               [下单支付字段说明](#sec6.2)
               [下单支付字段说明](#sec6.3)
    7 [角色上报](#sec8)
    7 [角色上报](#sec7)
               [参数说明](#sec8.1)
               [参数说明](#sec7.1)
               [调用示例](#sec8.2)
               [调用示例](#sec7.2)
    8 [退出登录](#sec9)
    8 [数据埋点](#sec8)
               [调用示例](#sec9.1)
    9 [展示广告](#sec9)
    9 [服务端登录验证接口](#sec10)
    10 [退出登录](#sec10)
               [调用示例](#sec10.1)
    11 [服务端登录验证接口](#sec11)
#### 1、对接说明 <a name="sec1"></a>
&nbsp;&nbsp; 1.1、此sdk只支持iOS9.0以上版本
&nbsp;&nbsp; 1.2、此sdk支持横竖屏
&nbsp;&nbsp; 1.3、所有SDK功能在ZYouManager类中,可通过初始化获取改类对象,后续所有更新功能都调用这个类中方法完成
&nbsp;&nbsp; 1.3、所有SDK功能在ZYouTool类中,可通过初始化获取改类对象,后续所有更新功能都调用这个类中方法完成
- 说明:sdk 中所有方法调用均在ZYouTool.h 文件中 注意此文件名称可能会不同,具体已sdk和demo为准,使用时只需要将文件名字替换为sdk中提供的即可
&nbsp;&nbsp; 1.4、此sdk适用于需上架到App Store的应用
### 2、参数说明<a name="sec2"></a>
......@@ -49,6 +54,9 @@
|:--------| -------------:|
| game_id | 游戏唯一标识,由平台方提供 |
| main_game_id | 主游戏id,由平台方提供 |
| FacebookAppID | FacebookAppID,由平台方提供 |
| FacebookClientToken | FacebookClientToken,由平台方提供 |
| GADApplicationIdentifier | 谷歌广告应用id,由平台方提供 |
| GIDClientID | 谷歌客户端id,由平台方提供 |
| googleScheme | 谷歌iOS 网址架构,由平台方提供 |
| facebookScheme | facebookScheme,由平台方提供 |
......@@ -62,16 +70,19 @@
&nbsp;&nbsp; 3.1、从平台处获取对接SDK
&nbsp;&nbsp; 3.2、手动集成
&nbsp;&nbsp;&nbsp;&nbsp; 3.2.1 将ZYouSDKFramework-iOS文件夹直接添加进工程,ZYouSDKFramework-iOS 文件夹中包含ZYouSDK,ZYSDKConfig,ZYouBundle,zyLocalizable.strings,ZYouTool.h ZYouTool.m
&nbsp;&nbsp;&nbsp;&nbsp; 3.2.2 此sdk依赖GoogleSignIn、Facebook、APPsFlyerLib,通过 project - package dependencies 添加
&nbsp;&nbsp;&nbsp;&nbsp; 3.2.3 添加 GoogleSignIn 搜索 https://github.com/google/GoogleSignIn-iOS 进行添加
&nbsp;&nbsp;&nbsp;&nbsp; 3.2.1 将sdk文件夹中所有文件添加进工程中
&nbsp;&nbsp;&nbsp;&nbsp; 3.2.2 此sdk依赖GoogleSignIn、Google-Mobile-Ads-SDK、Facebook、APPsFlyerLib、Firebase,通过 project - package dependencies 添加
&nbsp;&nbsp;&nbsp;&nbsp; 3.2.3 添加 GoogleSignIn 搜索 https://github.com/google/GoogleSignIn-iOS 进行添加 选择GoogleSignIn
![ios_overseas1.png](https://zyapk.zwnet.cn/ios_overseas/ios_overseas1.png)
&nbsp;&nbsp;&nbsp;&nbsp; 3.2.4 添加 Facebook 搜索 https://github.com/facebook/facebook-ios-sdk 进行添加
&nbsp;&nbsp;&nbsp;&nbsp; 3.2.4 添加 Facebook 搜索 https://github.com/facebook/facebook-ios-sdk 进行添加 依赖版本选择up to next major version 16.3.1 < 17.0.0
![ios_overseas2.png](https://zyapk.zwnet.cn/ios_overseas/ios_overseas2.png)
&nbsp;&nbsp;&nbsp;&nbsp; 3.2.5 添加 APPsFlyerLib 搜索 https://github.com/AppsFlyerSDK/AppsFlyerFramework 进行添加
![ios_overseas3.png](https://zyapk.zwnet.cn/ios_overseas/ios_overseas3.png)
&nbsp;&nbsp;&nbsp;&nbsp; 3.2.6 添加Firebase 搜索 https://github.com/firebase/firebase-ios-sdk 进行添加 选择 Analytics 库
&nbsp;&nbsp;&nbsp;&nbsp; 3.2.7 添加Google-Mobile-Ads-SDK 搜索 https://github.com/googleads/swift-package-manager-google-mobile-ads.git 进行添加
&nbsp;&nbsp;&nbsp;&nbsp; 3.3、添加依赖 TARGETS -> Build Phases -> Link Binary With Libraries 下添加以下库 libsqlite3.tbd ,AdSupport.framework
&nbsp;&nbsp; 3.3、添加依赖 TARGETS -> Build Phases -> Link Binary With Libraries 下添加 libsqlite3.tbd
&nbsp;&nbsp; 3.4 TARGETS点击项目名称,点击 Info 选项卡,添加NSUserTrackingUsageDescription权限 配置文案如(是否允许xx使用您的IDFA信息,以此来优化您的使用体验)
......@@ -98,13 +109,249 @@ fb-messenger-share-api
![example3.png](https://zhangsheng-1300623068.cos.ap-guangzhou.myqcloud.com/example3.png)
&nbsp;&nbsp; 3.9、根据提供的参数在 info.plist 配置 URL types 和 GIDClientID 如图,URL types配置URL Schemes 为googleScheme 和 facebookScheme
&nbsp;&nbsp; 3.9、根据提供的参数在 info.plist 配置参数(URL types,GIDClientID,FacebookAppID,FacebookClientToken)
&nbsp;&nbsp; URL types 和 GIDClientID 如图,URL types配置URL Schemes 为googleScheme 和 facebookScheme
![ios_overseas5.png](https://zyapk.zwnet.cn/ios_overseas/ios_overseas5.png)
![ios_overseas7.png](https://zyapk.zwnet.cn/ios_overseas/ios_overseas7.png)
### 4、初始化SDK<a name="sec4"></a>
&nbsp;&nbsp; 完整代码段
&nbsp;&nbsp; 复制以下代码到info.plist 文件中 并替换以下字段为平台提供的参数
&nbsp;&nbsp; googleScheme,facebookScheme,fbAppID,fbClientToken,谷歌客户端id,广告应用id
```
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>CFBundleURLSchemes</key>
<array>
<string>googleScheme</string>
</array>
</dict>
<dict>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>CFBundleURLSchemes</key>
<array>
<string>facebookScheme</string>
</array>
</dict>
</array>
<key>FacebookAdvertiserIDCollectionEnabled</key>
<true/>
<key>FacebookAppID</key>
<string>fbAppID</string>
<key>FacebookAutoLogAppEventsEnabled</key>
<true/>
<key>FacebookClientToken</key>
<string>fbClientToken</string>
<key>GIDClientID</key>
<string>谷歌客户端id</string>
<key>GADApplicationIdentifier</key>
<string>广告应用id</string>
<key>SKAdNetworkItems</key>
<array>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>cstr6suwn9.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>4fzdc2evr5.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>4pfyvq9l8r.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>2fnua5tdw4.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>ydx93a7ass.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>5a6flpkh64.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>p78axxw29g.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>v72qych5uu.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>ludvb6z3bs.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>cp8zw746q7.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>3sh42y64q3.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>c6k4g5qg8m.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>s39g8k73mm.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>3qy4746246.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>f38h382jlk.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>hs6bdukanm.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>v4nxqhlyqp.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>wzmmz9fp6w.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>yclnxrl5pm.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>t38b2kh725.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>7ug5zh24hu.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>gta9lk7p23.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>vutu7akeur.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>y5ghdn5j9k.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>n6fk4nfna4.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>v9wttpbfk9.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>n38lu8286q.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>47vhws6wlr.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>kbd757ywx3.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>9t245vhmpl.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>eh6m2bh4zr.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>a2p9lx4jpn.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>22mmun2rn5.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>4468km3ulz.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>2u9pt9hc89.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>8s468mfl3y.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>klf5c3l5u5.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>ppxm28t8ap.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>ecpz2srf59.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>uw77j35x4d.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>pwa73g5rt2.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>mlmmfzh3r3.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>578prtvx9j.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>4dzt52r2t5.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>e5fvkxwrpn.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>8c4e2ghe7u.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>zq492l623r.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>3rd42ekr43.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>3qcr597p9d.skadnetwork</string>
</dict>
</array>
```
app启动时调用注册sdk 在AppDelegate文件中#import "ZYouTool.h"
### 4、初始化SDK<a name="sec4"></a>
app启动时调用注册sdk 在AppDelegate文件中#import "ZYouTool.h" 调用以下方法
```
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
......@@ -129,7 +376,7 @@ app启动时调用注册sdk 在AppDelegate文件中#import "ZYouTool.h"
### 5、登录<a name="sec5"></a>
登录方法<a name="sec6.1"></a>
```
- (void)zy_loginViewSuccessBlock:(void(^)(id responseObject))successBlock failureBlock:(void(^)(NSString *error))failureBlock;
- (void)loginViewSuccessBlock:(void(^)(id responseObject))successBlock failureBlock:(void(^)(NSString *error))failureBlock;
```
- 说明:调出登录页面登录成功返回token
- 需游戏服务端调用登录验证之后,才能进入游戏
......@@ -165,11 +412,11 @@ app启动时调用注册sdk 在AppDelegate文件中#import "ZYouTool.h"
#### 登录调用示例<a name="sec5.2"></a>
引入 #import "ZYGoogleLogin.h" 文件
引入 #import "ZYouTool.h" 文件
```
//调用登录方法
[[ZYouManager shareInstance]zy_loginViewSuccessBlock:^(id _Nonnull responseObject) {
[[ZYouTool sharedInstance]loginViewSuccessBlock:^(id _Nonnull responseObject) {
//登录成功返回信息
//此处可以调用服务端登录验证
} failureBlock:^(NSString * _Nonnull error) {
......@@ -180,10 +427,10 @@ app启动时调用注册sdk 在AppDelegate文件中#import "ZYouTool.h"
### 6、支付下单<a name="sec6"></a>
调起支付页面方法<a name="sec7.1"></a>
调起支付页面方法<a name="sec6"></a>
```
- (void)zy_payWithOrder:(NSDictionary *)order role:(NSDictionary *)role roleId:(NSString *)roleId successBlock:(void(^)(id responseObject))successBlock failureBlock:(void(^)(NSString *error))failureBlock;
- (void)payWithOrder:(NSDictionary *)order role:(NSDictionary *)role roleId:(NSString *)roleId successBlock:(void(^)(id responseObject))successBlock failureBlock:(void(^)(NSString *error))failureBlock;
```
......@@ -221,8 +468,7 @@ app启动时调用注册sdk 在AppDelegate文件中#import "ZYouTool.h"
};
//roleId 角色ID
[[ZYouManager shareInstance] zy_payWithOrder:order role:role roleId:@"1314900" successBlock:^(id _Nonnull responseObject) {
[[ZYouTool sharedInstance] payWithOrder:order role:role roleId:@"1314900" successBlock:^(id _Nonnull responseObject) {
} failureBlock:^(NSString * _Nonnull error) {
}];
......@@ -252,13 +498,13 @@ app启动时调用注册sdk 在AppDelegate文件中#import "ZYouTool.h"
| role_id | string | 必须 |0| 角色ID |
### 7、角色上报<a name="sec8"></a>
### 7、角色上报<a name="sec7"></a>
角色上报方法
```
//角色上报
- (void)zy_reportRoleInfoWithRole:(NSDictionary*)role successBlock:(void(^)(id responseObject))successBlock failureBlock:(void(^)(NSString *error))failureBlock;
- (void)reportRoleInfoWithRole:(NSDictionary*)role successBlock:(void(^)(id responseObject))successBlock failureBlock:(void(^)(NSString *error))failureBlock;
```
### 参数说明<a name="sec8.1"></a>
### 参数说明<a name="sec7.1"></a>
| 参数 | 说明 |
|:----|-----:|
......@@ -266,7 +512,7 @@ app启动时调用注册sdk 在AppDelegate文件中#import "ZYouTool.h"
|successBlock|成功回调|
|failureBlock|失败回调|
#### 调用示例<a name="sec8.2"></a>
#### 调用示例<a name="sec7.2"></a>
```
NSDictionary *dic = @{
......@@ -290,7 +536,7 @@ app启动时调用注册sdk 在AppDelegate文件中#import "ZYouTool.h"
@"main_city_level":@"", //官邸等级
@"chapter_index":@"" // 章节等级
};
[[ZYouManager shareInstance]zy_reportRoleInfoWithRole:dic successBlock:^(id _Nonnull responseObject) {
[[ZYouTool sharedInstance]reportRoleInfoWithRole:dic successBlock:^(id _Nonnull responseObject) {
NSLog(@"上报成功");
} failureBlock:^(NSString * _Nonnull error) {
......@@ -299,7 +545,7 @@ app启动时调用注册sdk 在AppDelegate文件中#import "ZYouTool.h"
```
#### 参数字段说明<a name="sec8.3"></a>
#### 参数字段说明<a name="sec7.3"></a>
| 参数 | 必选 | 类型 | 默认值 | 说明 |
| :----------------------------------------------------------- | :---- | :----- | :----- | :---------------- |
......@@ -333,35 +579,63 @@ app启动时调用注册sdk 在AppDelegate文件中#import "ZYouTool.h"
| recharge | 角色充值 |
| other | 其他 |
### 8、退出登录<a name="sec9"></a>
### 8、数据埋点<a name="sec8"></a>
#### 调用示例
```
[[ZYouTool sharedInstance]logEventName:@"事件名称" parameters:@{}];
```
### 9、广告展示<a name="sec9"></a>
#### 调用示例
```
//合适的时间提前加载广告
[[ZYouTool sharedInstance]loadRewardedAd:GADAdTypeRewardedAd successBlock:^{
//广告加载完
} failureBlock:^(NSString * _Nonnull error) {
}];
//展示广告
[ZYouTool.sharedInstance rewardedAdShowWith:self successBlock:^(NSString * _Nonnull type, NSDecimalNumber * _Nonnull amount) {
//观看完广告
} failureBlock:^(NSString * _Nonnull error) {
}];
```
### 10、退出登录<a name="sec10"></a>
```
//退出登录 如果游戏中有退出入口可以调用此方法退出
//带有二次确定退出
- (void)zy_loginoutAlertSuccessBlock:(void(^)(void))successBlock failureBlock:(void(^)(NSString *error))failureBlock
- (void)loginoutAlertSuccessBlock:(void(^)(void))successBlock failureBlock:(void(^)(NSString *error))failureBlock
```
#### 调用示例<a name="sec9.1"></a>
#### 调用示例<a name="sec10.1"></a>
```
[[ZYouManager shareInstance]zy_loginoutAlertSuccessBlock:^(id _Nonnull responseObject) {
[[ZYouTool sharedInstance]loginoutAlertSuccessBlock:^(id _Nonnull responseObject) {
} failureBlock:^(NSString * _Nonnull error) {
}];
```
#### 8.1 监听个人中心退出登录方法 sdk从个人退出后
#### 10.1 监听个人中心退出登录方法 sdk从个人退出后
```
//监听从个人中心退出和检查登录退出
- (void)zy_loginoutSuccessBlock:(void(^)(void))successBlock;
- (void)loginoutSuccessBlock:(void(^)(void))successBlock;
```
#### 调用示例
```
//监听从个人中心退出操作
[[ZYouManager shareInstance]zy_loginoutSuccessBlock:^{
[[ZYouTool sharedInstance]loginoutSuccessBlock:^{
NSLog(@"退出登录");
}];
```
......@@ -370,7 +644,7 @@ app启动时调用注册sdk 在AppDelegate文件中#import "ZYouTool.h"
#### 服务端登录验证接口<a name="sec10"></a>
#### 服务端登录验证接口<a name="sec11"></a>
## 服务端接口 调用方直接使用http 调用接口:
### 接口地址
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论