# SuperSDK_Plugin
**Repository Path**: wyky_ios/SuperSDK_Plugin
## Basic Information
- **Project Name**: SuperSDK_Plugin
- **Description**: SuperSDK插件
- **Primary Language**: Objective-C
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 2
- **Created**: 2018-05-24
- **Last Updated**: 2025-04-17
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# SuperSDK_Plugin
## 简介
| 日期 | Pods资源版本 | 备注 |
| ---------- | ---------- | --------- |
| 2021.07.30 | 0.0.65| Firebase推送 |
| 2021.07.20 | 0.0.64| Firebase埋点 |
| 2021.07.20 | 0.0.63| Firebase添加异常捕获 |
| 2021.07.20 | 0.0.62| 获取地区信息 |
| 2021.07.20 | 0.0.61| 扫码登录增加异常提示 |
| 2021.07.07 | 0.0.60| 扫码登录增加扫码通知 |
| 2021.06.29 | 0.0.59| 热云SDK更新至1.8.5 |
| 2021.06.27 | 0.0.58| 扫码登录增加二次确认框 |
| 2021.06.17 | 0.0.56| 增加AppStore评分插件|
| 2021.06.15 | 0.0.55| 增加本地分享插件|
| 2021.06.11 | 0.0.54| 修复飞智手柄摇杆上下翻转的问题|
| 2021.06.05 | 0.0.53| 修复隐私协议中包含'测试'文案问题|
| 2021.06.02 | 0.0.52| 扫码登录问题修复|
| 2021.05.11 | 0.0.50| 隐私协议用户协议加载方式优化|
| 2021.05.11 | 0.0.49| 隐私协议插件支持先锋服|
| 2021.05.11 | 0.0.48| 增加防外挂插件 |
| 2021.05.08 | 0.0.47| 修复隐私协议bundle引用问题 |
| 2021.04.29 | 0.0.46| 手柄插件震动支持设置时长,飞智手柄支持数值播放震动 |
| 2021.04.27 | 0.0.45| 热云SDK更新至1.8.4 |
| 2021.04.25 | 0.0.43| 飞智手柄插件增加 |
| 2021.04.15 | 0.0.42| 手柄插件支持震动 |
| 2021.04.02 | 0.0.41| 热云SDK更新 |
| 2021.03.25 | 0.0.40| 热云SDK更新无CAID版本 |
| 2021.03.20 | 0.0.39| 增加网页客服插件|
| 2021.03.16 | 0.0.38| 弹框浏览器支持跳转外部浏览器,并更新调用参数|
| 2021.03.01 | 0.0.37| 增加隐私协议插件|
| 2021.03.01 | 0.0.36| 极光推送支持设置tag|
| 2021.02.24 | 0.0.35| 游戏控制器插件优化|
| 2021.02.04 | 0.0.34| 弹框浏览器插件适配问题处理 |
| 2021.01.15 | 0.0.33| 增加游戏控制器插件 |
| 2021.01.15 | 0.0.32| 热云SDK更新至1.8.0 |
| 2020.12.07 | 0.0.31| 热云SDK更新至1.7.8 |
| 2020.11.21 | 0.0.30| 热云SDK更新 |
| 2020.10.11 | 0.0.29| 弹框浏览器插件参数字段调整 |
| 2020.08.29 | 0.0.28| 浏览器插件分享图片压缩处理 |
| 2020.08.21 | 0.0.27| 新增浏览器插件 |
| 2020.08.12 | 0.0.26 | 新增验证码插件 |
| 2020.04.09 | 0.0.25 | 修改分享生成短连接接口域名 |
| 2020.04.09 | 0.0.24 | 修复微信跳转回来未认证的问题 |
| 2020.04.09 | 0.0.23 | 增加极光推送 |
| 2020.04.08 | 0.0.22 | 信鸽SDK提升版本至3.3.7 |
| 2020.03.30 | 0.0.21 | 使用WKWebView替换UIWebView |
| 2020.03.24 | 0.0.20 | 微信SDK更新至1.8.6 |
IOS端SuperSDK插件。包含:
- [热云统计](#%e7%83%ad%e4%ba%91%e7%bb%9f%e8%ae%a1) YCSuperSDK_Plugin/Reyun
- [TalkingData统计](#talkingdata%e7%bb%9f%e8%ae%a1) YCSuperSDK_Plugin/TalkingData
- [ChartBoost统计](#chartboost%e7%bb%9f%e8%ae%a1) YCSuperSDK_Plugin/ChartBoost
- [截屏微信分享](#%e6%88%aa%e5%b1%8f%e5%be%ae%e4%bf%a1%e5%88%86%e4%ba%ab) YCSuperSDK_Plugin/WechatShare
- [二维码生成](#%e4%ba%8c%e7%bb%b4%e7%a0%81%e7%94%9f%e6%88%90) YCSuperSDK_Plugin/QrGen
- [二维码扫描](#%e4%ba%8c%e7%bb%b4%e7%a0%81%e6%89%ab%e6%8f%8f) YCSuperSDK_Plugin/QrScan
- [扫码登录支付](#%e6%89%ab%e7%a0%81%e7%99%bb%e5%bd%95%e6%94%af%e4%bb%98) YCSuperSDK_Plugin/SDKScan
- [相册选择照片](#%e7%9b%b8%e5%86%8c%e9%80%89%e6%8b%a9%e7%85%a7%e7%89%87) YCSuperSDK_Plugin/PhotoPicker
- [调查问卷](#%e8%b0%83%e6%9f%a5%e9%97%ae%e5%8d%b7) YCSuperSDK_Plugin/Survey
- [验证码插件](#验证码插件)YCSuperSDK_Plugin/Captcha
- [异形屏可用区](#%e5%bc%82%e5%bd%a2%e5%b1%8f%e5%8f%af%e7%94%a8%e5%8c%ba) YCSuperSDK_Plugin/NotchScreen
- [SuperPush信鸽推送](#superpush%e4%bf%a1%e9%b8%bd%e6%8e%a8%e9%80%81) YCSuperSDK_Plugin/SuperPush_XinGe
- [SuperPush极光推送](#SuperPush极光推送) YCSuperSDK_Plugin/SuperPush_JPush
- [App推广](#app%08%e6%8e%a8%e5%b9%bf) YCSuperSDK_Plugin/AppPromotion
- [屏幕亮度调节](#%e5%b1%8f%e5%b9%95%e4%ba%ae%e5%ba%a6%e8%b0%83%e8%8a%82) YCSuperSDK_Plugin/ScreenBrightness
- [工具箱-系统粘贴板](#%e5%b7%a5%e5%85%b7%e7%ae%b1-%e7%b3%bb%e7%bb%9f%e7%b2%98%e8%b4%b4%e6%9d%bf) YCSuperSDK_Plugin/ToolBox
- [系统回调信息插件](#%e7%b3%bb%e7%bb%9f%e5%9b%9e%e8%b0%83%e4%bf%a1%e6%81%af%e6%8f%92%e4%bb%b6) YCSuperSDK_Plugin/NativeSystemCallback
- [游戏控制器](#游戏控制器)YCSuperSDK_Plugin/GameController
- [隐私协议](#隐私协议)YCSuperSDK_Plugin/Policy
- [客服](#客服)YCSuperSDK_Plugin/CustomerService
- [防外挂](#防外挂)YCSuperSDK_Plugin/RiskPerception
> 注意:SuperSDK_Plugin中所有插件都依赖SuperSDK框架,所以必须在Podfile中添加SuperSDK的依赖`pod 'YCSuperSDK'`
---
## 导入
1. 安装CocoaPods
2. 在项目根目录,输入`pod init`命令,创建Podfile
3. Podfile内容如下:
```
# Uncomment the next line to define a global platform for your project
source 'https://gitee.com/wyky_ios/Spec.git'
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
target '你的项目名' do
#依赖SuperSDK框架
pod 'YCSuperSDK'
#指定你需要的插件
pod 'YCSuperSDK_Plugin', :subspecs => ['WechatShare', 'PhotoPicker']
end
```
5. 输入`pod install`命令,安装相关依赖
6. 打开新生成的.xcworkspace,进行后续的开发和调试
---
## 插件配置
> 以下是添加各个插件需要的配置。大部分插件支持从Unity端调用,如果需要了解目前所有插件的调用方式和功能,请查看[SuperSDK插件文档](http://testssdk.sail2world.com/doc/client/plugin/direction/api.html)
---
### 热云统计
1. Podfile中的YCSuperSDK_Plugin的subspecs,添加**Reyun**
2. Info.plist中,指定加载插件类`Plugin_Reyun`。在SSDKConfig下的SSDK_PLUG_IN,添加**Plugin_Reyun**
```
SSDKConfig
SSDK_PLUG_IN
Plugin_Reyun
```
3. Info.plist中,添加热云参数。在SSDKConfig下,添加**SSDK_ReyunConfig**
```
SSDKConfig
SSDK_ReyunConfig
PrintLog
TrackStatus
TrackAppKey
热云参数AppKey
TrackChannelID
_default_
```
>PrintLog表示热云统计的日志开关和调试模式,请出正式包时,该变量务必设置成NO;TrackStatus控制热云插件是否生效。
4. Info.plist中增加请求使用IDFA权限说明
```
NSUserTrackingUsageDescription
需要访问您的设备标识符(文案请自行修改)
```
---
### TalkingData统计
1. Podfile中的YCSuperSDK_Plugin的subspecs,添加**TalkingData**
2. Info.plist中,指定加载插件类`Plugin_TalkingData`。在SSDKConfig下的SSDK_PLUG_IN,添加**Plugin_TalkingData**
```
SSDKConfig
SSDK_PLUG_IN
Plugin_TalkingData
```
3. Info.plist中,添加TalkingData参数。在SSDKConfig下,添加**SSDK_TalkingDataConfig**
```
SSDKConfig
SSDK_TalkingDataConfig
DeepLinkStatus
GameAppID
TakingData应用追踪标识
GameChannelID
TakingData渠道跟踪ID
GameStatus
TrackAppID
TakingData应用追踪标识
TrackChannelID
TakingData渠道跟踪ID
TrackStatus
```
DeepLinkStatus表示TalkingData的DeepLink事件开关;GameStatus控制TalkingData的游戏统计是否生效;TrackStatus控制TalkingData的其他跟踪统计是否生效。
---
### ChartBoost统计
1. Podfile中的YCSuperSDK_Plugin的subspecs,添加**ChartBoost**
2. Info.plist中,指定加载插件类`Plugin_ChartBoost`。在SSDKConfig下的SSDK_PLUG_IN,添加**Plugin_ChartBoost**
```
SSDKConfig
SSDK_PLUG_IN
Plugin_ChartBoost
```
3. Info.plist中,添加热云参数。在SSDKConfig下,添加**SSDK_ChartboostConfig**
```
SSDKConfig
SSDK_ChartboostConfig
AppID
ChartBoost参数AppId
AppSignature
ChartBoost参数AppId
Status
```
Status控制ChartBoost插件是否生效。
---
### 截屏微信分享
1. 该插件需要从Unity端调用,调用方式参考[文档](http://testssdk.sail2world.com/doc/client/plugin/screenshot/unity/api.html)
2. 配置[Universal Links](/UniversalLinks.md)
3. 工程中配置Associated Domains,如下图

4. Podfile中的YCSuperSDK_Plugin的subspecs,添加**WechatShare**
5. Info.plist中,指定加载插件类`Plugin_WechatShare`。在SSDKConfig下的SSDK_PLUG_IN,添加**Plugin_WechatShare**
```
SSDKConfig
SSDK_PLUG_IN
Plugin_WechatShare
```
6. Info.plist中,添加微信分享参数。在SSDKConfig下,添加**PLUGIN_Config_WechatShare**
```
SSDKConfig
PLUGIN_Config_WechatShare
AppId
微信分享参数AppId
UniversalLinks
UniversalLinks
```
> 如果您不添加微信AppId参数,则分享插件就不会显示分享到微信的按钮,但是截屏功能和保存相册可以正常使用。
7. 在"Info"标签栏的"URL type",添加**URL scheme**为你微信AppId,用于从微信返回游戏。如下图:

8. Info.plist中,添加**使用相册的隐私权限提示**
```
NSPhotoLibraryAddUsageDescription
需要为您保存图片
```
9. Info.plist中,添加**LSApplicationQueriesSchemes**,用于检测手机上是否安装微信。
```
LSApplicationQueriesSchemes
weixin
wechat
weixinULAPI
```
---
### 二维码生成
1. 该插件需要从Unity端调用,调用方式参考[文档](http://testssdk.sail2world.com/doc/client/plugin/createqrcode/unity/api.html)
2. Podfile中的YCSuperSDK_Plugin的subspecs,添加**QrGen**
3. Info.plist中,指定加载插件类`Plugin_QrGen`。在SSDKConfig下的SSDK_PLUG_IN,添加**Plugin_QrGen**
```
SSDKConfig
SSDK_PLUG_IN
Plugin_QrGen
```
---
### 二维码扫描
1. Podfile中的YCSuperSDK_Plugin的subspecs,添加**QrScan**
2. Info.plist中,指定加载插件类`Plugin_QrScan`。在SSDKConfig下的SSDK_PLUG_IN,添加**Plugin_QrScan**
```
SSDKConfig
SSDK_PLUG_IN
Plugin_QrScan
```
3. Info.plist中,添加**使用相机的隐私权限提示**
```
NSCameraUsageDescription
需要调用您的相机
```
---
### 扫码登录支付
1. 该插件需要从Unity端调用,调用方式参考[文档](http://testssdk.sail2world.com/doc/client/plugin/qrcode/api.html)
2. 扫码登录支付插件,必须依赖[二维码扫描插件**QrScan**](#插件配置:二维码扫描),因此需要按照**QrScan**插件要求进行对应的配置
3. Podfile中的YCSuperSDK_Plugin的subspecs,添加**SDKScan**
4. Info.plist中,指定加载插件类`Plugin_SDKScan`。在SSDKConfig下的SSDK_PLUG_IN,添加**Plugin_SDKScan**
```
SSDKConfig
SSDK_PLUG_IN
Plugin_SDKScan
```
5. Info.plist中,添加**使用相机的隐私权限提示**
```
NSCameraUsageDescription
需要调用您的相机
```
---
### 相册选择照片
1. 该插件需要从Unity端调用,调用方式参考[文档](http://testssdk.sail2world.com/doc/client/plugin/photopick/api.html)
2. Podfile中的YCSuperSDK_Plugin的subspecs,添加**PhotoPicker**
3. Info.plist中,指定加载插件类`Plugin_PhotoPicker`。在SSDKConfig下的SSDK_PLUG_IN,添加**Plugin_PhotoPicker**
```
SSDKConfig
SSDK_PLUG_IN
Plugin_PhotoPicker
```
4. Info.plist中,添加**访问相册的隐私权限提示**
```
NSPhotoLibraryUsageDescription
需要访问您的相册
```
---
### 调查问卷
1. 该插件需要从Unity端调用,调用方式参考[文档](http://testssdk.sail2world.com/doc/client/plugin/photopick/api.html)
2. Podfile中的YCSuperSDK_Plugin的subspecs,添加**Survey**
3. Info.plist中,指定加载插件类`Plugin_Survey`。在SSDKConfig下的SSDK_PLUG_IN,添加**Plugin_Survey**
```
SSDKConfig
SSDK_PLUG_IN
Plugin_Survey
```
---
### 验证码插件
1. 该插件需要从Unity端调用,调用方式参考[文档](http://172.16.1.21:8090/pages/viewpage.action?pageId=922998)
2. Podfile中的YCSuperSDK_Plugin的subspecs,添加**Captcha**
3. Info.plist中,指定加载插件类`Plugin_Captcha`。在SSDKConfig下的SSDK_PLUG_IN,添加**Plugin_Captcha**
```
SSDKConfig
SSDK_PLUG_IN
Plugin_Captcha
```
---
### 浏览器插件
一、 全屏浏览器
1. 该插件需要从Unity端调用,调用方式参考[文档](http://172.16.1.21:8090/pages/viewpage.action?pageId=7929988)
2. 配置[Universal Links](/UniversalLinks.md)
3. 工程中配置Associated Domains,如下图

4. Podfile中的YCSuperSDK_Plugin的subspecs,添加**Browser**
5. Info.plist中,指定加载插件类`Plugin_Browser`。在SSDKConfig下的SSDK_PLUG_IN,添加**Plugin_Browser**
```
SSDKConfig
SSDK_PLUG_IN
Plugin_Browser
```
6. Info.plist中,添加微信、QQ分享参数。在SSDKConfig下,添加**PLUGIN_Config_Browser**
```
SSDKConfig
PLUGIN_Config_Browser
WXAppId
微信分享参数AppId
QQAppId
QQ分享参数AppId
UniversalLinks
UniversalLinks
```
> 如果您不添加微信、QQAppId参数,则分享会失效。
7. 在"Info"标签栏的"URL type",添加**URL scheme**为你微信、QQAppId,用于从微信、QQ返回游戏。如下图(以微信为例):

8. Info.plist中,添加**LSApplicationQueriesSchemes**,用于检测手机上是否安装微信。
```
weixin
weixinULAPI
tim
mqq
mqqapi
mqqbrowser
mttbrowser
mqqOpensdkSSoLogin
mqqopensdkapiV2
mqqopensdkapiV4
mqzone
mqzoneopensdk
mqzoneopensdkapi
mqzoneopensdkapi19
mqzoneopensdkapiV2
mqqapiwallet
mqqopensdkfriend
mqqopensdkavatar
mqqopensdkminiapp
mqqopensdkdataline
mqqgamebindinggroup
mqqopensdkgrouptribeshare
tencentapi.qq.reqContent
tencentapi.qzone.reqContent
mqqthirdappgroup
mqqopensdklaunchminiapp
```
二、 弹框浏览器
1. 该插件需要从Unity端调用,调用方式参考[文档](http://172.16.1.21:8090/pages/viewpage.action?pageId=7929988)
2. Podfile中的YCSuperSDK_Plugin的subspecs,添加**Browser**
3. Info.plist中,指定加载插件类`Plugin_Browser`。在SSDKConfig下的SSDK_PLUG_IN,添加**Plugin_Browser**
```
SSDKConfig
SSDK_PLUG_IN
Plugin_Browser
```
### 异形屏可用区
1. 该插件需要从Unity端调用,调用方式参考[文档](http://testssdk.sail2world.com/doc/client/plugin/notchscreen/unity/api.html)
2. Podfile中的YCSuperSDK_Plugin的subspecs,添加**NotchScreen**
3. Info.plist中,指定加载插件类`Plugin_NotchScreen`。在SSDKConfig下的SSDK_PLUG_IN,添加**Plugin_NotchScreen**
```
SSDKConfig
SSDK_PLUG_IN
Plugin_NotchScreen
```
---
### SuperPush信鸽推送
1. 该插件需要从Unity端调用,调用方式参考[文档](http://testssdk.sail2world.com/doc/client/plugin/superpush/api.html)
2. Podfile中的YCSuperSDK_Plugin的subspecs,添加**SuperPush_XinGe**
3. Info.plist中,指定加载插件类`Plugin_SuperPush_XinGe`。在SSDKConfig下的SSDK_PLUG_IN,添加**Plugin_SuperPush_XinGe**
```
SSDKConfig
SSDK_PLUG_IN
Plugin_SuperPush_XinGe
```
4. Info.plist中,信鸽参数。在SSDKConfig下,添加**PLUGIN_Config_SuperPushXinGe**
```
SSDKConfig
PLUGIN_Config_SuperPushXinGe
AccessId
信鸽AccessId
AccessKey
信鸽AccessKey
IsDebug
```
> IsDebug设置成YES,可以看到信鸽推送的日志信息,方便定位问题。出正式包时,请务必将该参数设置成NO
5. 在工程配置的Capabilities标签页中,打开推送开关。如下图:

6. 在Build Settings -> Other Linker Flags中添加`-ObjC`
7. 在项目的UIApplicationDelegate中,务必实现回调函数`- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult result))handler`,用于统计推送效果
```
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult result))handler
{
// ...省略项目的代码,添加下面这一行SuperSDK代码
[SuperSDK application:application didReceiveRemoteNotification:userInfo fetchCompletionHandler:handler];
if (handler)
{
handler(UIBackgroundFetchResultNoData);
}
}
```
8. 更加详细的设置,可以参考[信鸽推送IOS端官方文档](http://docs.developer.qq.com/xg/ios_access/ios_access_guide.html#%E6%89%8B%E5%8A%A8%E9%9B%86%E6%88%90)
---
### SuperPush极光推送
1. 该插件需要从Unity端调用,调用方式参考[文档](http://testssdk.sail2world.com/doc/client/plugin/superpush/api.html)
2. Podfile中的YCSuperSDK_Plugin的subspecs,添加**SuperPush_JPush**
3. Info.plist中,指定加载插件类`Plugin_SuperPush_JPush`。在SSDKConfig下的SSDK_PLUG_IN,添加**Plugin_SuperPush_JPush**
```
SSDKConfig
SSDK_PLUG_IN
Plugin_SuperPush_JPush
```
4. Info.plist中,极光参数。在SSDKConfig下,添加**PLUGIN_Config_SuperPushJPush**
```
SSDKConfig
PLUGIN_Config_SuperPushJPush
appKey
极光appKey
channel
渠道(自行定义)
apsForProduction
```
> apsForProduction:用于标识当前应用所使用的 APNs 证书环境,`false`(默认值)表示采用的是开发证书,`true`表示采用生产证书发布应用。注:此字段的值要与 Build Settings的Code Signing 配置的证书环境一致。
5. 如果用的是 Xcode 7 或更新版本,需要在 App 项目的 plist 手动配置下 key 和值以支持 http 传输:
```
NSAppTransportSecurity
NSAllowsArbitraryLoads
```
6. 如使用 Xcode 8 及以上环境开发,请开启 Application Target 的 Capabilities添加Push Notifications 选项,如图:

7. 如使用 Xcode 10及以上环境开发,请开启 Application Target 的 Capabilities添加 Access WIFI Infomation 选项。

8. 在项目的UIApplicationDelegate中,务必实现回调函数`- (void)application:(UIApplication*)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData*)deviceToken`,用于上报极光deviceToken
```
- (void)application:(UIApplication*)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData*)deviceToken
{
AppController_SendNotificationWithArg(kUnityDidRegisterForRemoteNotificationsWithDeviceToken, deviceToken);
UnitySendDeviceToken(deviceToken);
[SuperSDK application:application didRegisterForRemoteNotificationsWithDeviceToken:deviceToken];
}
```
8. 更加详细的设置,可以参考[极光推送iOS端官方文档](http://docs.jiguang.cn/jpush/client/iOS/ios_sdk/)
---
### App推广
>对于使用了"广点通"、"钱咖"、"试客"等推广平台进行推广的游戏包,需要接入此插件,用于上报推广平台"游戏激活"事件,统计推广效果
1. Podfile中的YCSuperSDK_Plugin的subspecs,添加**AppPromotion**
2. Info.plist中,指定加载插件类`Plugin_Promotion`。在SSDKConfig下的SSDK_PLUG_IN,添加**Plugin_Promotion**
```
SSDKConfig
SSDK_PLUG_IN
Plugin_Promotion
```
---
### 屏幕亮度调节
1. 该插件需要从Unity端调用,调用方式参考[文档](http://testssdk.sail2world.com/doc/client/plugin/screenbright/api.html)
2. Podfile中的YCSuperSDK_Plugin的subspecs,添加**ScreenBrightness**
3. Info.plist中,指定加载插件类`Plugin_ScreenBrightness`。在SSDKConfig下的SSDK_PLUG_IN,添加**Plugin_ScreenBrightness**
```
SSDKConfig
SSDK_PLUG_IN
Plugin_ScreenBrightness
```
---
### 工具箱-系统粘贴板
1. 该插件需要从Unity端调用,调用方式参考[文档](http://testssdk.sail2world.com/doc/client/plugin/toolbox/unity/api.html)
2. Podfile中的YCSuperSDK_Plugin的subspecs,添加**ToolBox**
3. Info.plist中,指定加载插件类`Plugin_ToolBox`。在SSDKConfig下的SSDK_PLUG_IN,添加**Plugin_ToolBox**
```
SSDKConfig
SSDK_PLUG_IN
Plugin_ToolBox
```
---
### 系统回调信息插件
1. 该插需要从Unity端注册监听,并在Unity 端声明指定回调函数,等到对应系统事件发生时会主动调用Unity端的回调函数。目前支持的系统事件包括:内存不足事件。具体调用方式参考[文档](http://testssdk.sail2world.com/doc/client/plugin/nativesystem/unity/api.html)
2. Podfile中的YCSuperSDK_Plugin的subspecs,添加**NativeSystemCallback**
3. Info.plist中,指定加载插件类`Plugin_NativeSystemCallback`。在SSDKConfig下的SSDK_PLUG_IN,添加**Plugin_NativeSystemCallback**
```
SSDKConfig
SSDK_PLUG_IN
Plugin_NativeSystemCallback
```
4.项目的入口UIController类,比如Unity导出工程的UnityAppController文件,在applicationDidReceiveMemoryWarning中调用SuperSDK的对应方法
```
#import “YCSuperSDK/libSuperSDK.h"
- (void)applicationDidReceiveMemoryWarning:(UIApplication*)application
{
[SuperSDK applicationDidReceiveMemoryWarning:application];
}
```
---
## 游戏控制器
1. 该插件需要从Unity端调用,调用方式参考[文档](http://wiki.yunchanggame.com/pages/viewpage.action?pageId=16451917)
2. Podfile中的YCSuperSDK_Plugin的subspecs,添加**GameController**
3. Info.plist中,指定加载插件类`Y2GameController`。在SSDKConfig下的SSDK_PLUG_IN,添加**Y2GameController**
```
SSDKConfig
SSDK_PLUG_IN
Y2GameController
```
---
## 游戏控制器-飞智
- 游戏接入部分代码不用做任何修改,但需要引入资源。
1. 该插件需要从Unity端调用,调用方式参考[文档](http://wiki.yunchanggame.com/pages/viewpage.action?pageId=16451917)
2. Podfile中的YCSuperSDK_Plugin的subspecs,添加**GameController-fz**
3. Info.plist中,指定加载插件类`Y2GameController`。在SSDKConfig下的SSDK_PLUG_IN,添加**Y2GameController_fz**
```
SSDKConfig
SSDK_PLUG_IN
Y2GameController_fz
```
4. Info.plist中增加请求使用蓝牙权限说明
```
NSBluetoothAlwaysUsageDescription
需要访问蓝牙(文案请自行修改)
```
---
## 隐私协议
1. 该插件需要从Unity端调用,调用方式参考[文档](http://wiki.yunchanggame.com/pages/viewpage.action?pageId=16452883)
2. Podfile中的YCSuperSDK_Plugin的subspecs,添加**Policy**
3. Info.plist中,指定加载插件类`Plugin_Policy`。在SSDKConfig下的SSDK_PLUG_IN,添加**Plugin_Policy**
```
SSDKConfig
SSDK_PLUG_IN
Plugin_Policy
```
4. Info.plist中,配置隐私协议
> 1. 配置使用地区是否在中国?是否是先锋服?
> 2. agreement_url 用户协议url配置,
> 国外:https://sgopensdk.sail2world.com/sg/user_agree-sg.html
> 国内:https://dmc.nebulajoy.com/sdk/user_agree.html
> 先锋:https://dmc.nebulajoy.com/dmcxf/user_agree.html
> 3. privacy_url 隐私协议url配置
> 国外:https://sgopensdk.sail2world.com/sg/privacy-sg.html
> 国内:https://dmc.nebulajoy.com/sdk/privacy.html
> 先锋:https://dmc.nebulajoy.com/dmcxf/privacy.html
>4. guide_url 隐私用户协议弹窗引导页
> 通用:https://dmc.nebulajoy.com/sdk/privacy_guide.html
> 先锋: 暂无
```
SSDKConfig
PLUGIN_Config_Policy
agreement_url
【URL】
inChina
privacy_url
【URL】
xf
guide_url
【URL】
```
> 2. 直接配置三个html文件,具体文件请联系SDK相关人员,拖进项目中(非必传)
```
SSDKConfig
PLUGIN_Config_Policy
guideFile
guide文件
privacyFile
privacy文件
agreementFile
agreement文件
```
-----------------
## 客服
1. 该插件需要从Unity端调用,调用方式参考[文档](http://testssdk.sail2world.com/doc/client/plugin/vipcustomerservice/unity/html/api.html)
2. Podfile中的YCSuperSDK_Plugin的subspecs,添加**CustomerService**
3. Info.plist中,指定加载插件类`Plugin_CustomerService`。在SSDKConfig下的SSDK_PLUG_IN,添加**Plugin_CustomerService**
```
SSDKConfig
SSDK_PLUG_IN
Plugin_CustomerService
```
4. Info.plist中,配置客服Web页面地址
```
SSDKConfig
PLUGIN_Config_CustomService
URL
客服Web页面地址
```
---
## 防外挂
1. Podfile中的YCSuperSDK_Plugin的subspecs,添加**RiskPerception**
3. Info.plist中,指定加载插件类`Plugin_RiskPerception`。在SSDKConfig下的SSDK_PLUG_IN,添加**Plugin_RiskPerception**
```
SSDKConfig
SSDK_PLUG_IN
Plugin_RiskPerception
```
4. Info.plist中,配置appId
```
SSDKConfig
PLUGIN_Config_RiskPerception
appId
易盾AppId
```
## AppsFlyer 广告追踪及埋点
1. Podfile中的YCSuperSDK_Plugin的subspecs,添加**AppsFlyerADTrack**
2. Info.plist中,指定加载插件类`Plugin_RiskPerception`。在SSDKConfig下的SSDK_PLUG_IN,添加**AppsFlyerADTrack**
3. Info.plist 右键->Open as->Source Code
在SSDConfig下添加
```
AppsFlyer_App_Config
AppsFlyer_App_Key
【AppsFlyer生成的Key】
AppsFlyer_Apple_Id
【appstoreconnect中app生成的AppleId】
```
## Facebook广告追踪
1. Podfile中的YCSuperSDK_Plugin的subspecs,添加**FacebookADTrack**
2. Info.plist中,指定加载插件类`Plugin_RiskPerception`。在SSDKConfig下的SSDK_PLUG_IN,添加**FacebookADTrack**
3. Info.plist 右键->Open as->Source Code,将 XML 代码片段复制到文件正文,并置于最后的 元素前。
```
CFBundleURLTypes
CFBundleURLSchemes
fb[APP_ID]
FacebookAppID
[APP_ID]
FacebookDisplayName
[APP_NAME]
FacebookAdvertiserIDCollectionEnabled
```
4. 因为FBSDKCoreKit里面包含.swift文件,需要新建一个swift文件,当Xcode询问时,按Create Bridging Header,创建一个[项目名]-Bridgint-Header.h
### Firebase广告追踪
1. Podfile中的YCSuperSDK_Plugin的subspecs,添加**FirebaseADTrack**
2. Info.plist中,指定加载插件类`Plugin_RiskPerception`。在SSDKConfig下的SSDK_PLUG_IN,添加**FirebaseADTrack**
3. FireBase控制台->新建iOS项目->....->生成GoogleService-Info.plist
将GoogleService-Info.plist加入项目中,与Info.plist平级
---
## 本地分享
1. 该插件需要从Unity端调用,调用方式参考[文档](http://wiki.yunchanggame.com/pages/viewpage.action?pageId=23658983)
2. Podfile中的YCSuperSDK_Plugin的subspecs,添加**NativeShare**
3. Info.plist中,指定加载插件类`Plugin_NativeShare`。在SSDKConfig下的SSDK_PLUG_IN,添加**Plugin_NativeShare**
```
SSDKConfig
SSDK_PLUG_IN
Plugin_NativeShare
```
## 本地分享
1. 该插件需要从Unity端调用,调用方式参考[文档](http://wiki.yunchanggame.com/pages/viewpage.action?pageId=23659022)
2. Podfile中的YCSuperSDK_Plugin的subspecs,添加**AppStoreStarRating**
3. Info.plist中,指定加载插件类`AppStoreStarRating`。在SSDKConfig下的SSDK_PLUG_IN,添加**AppStoreStarRating**
```
SSDKConfig
SSDK_PLUG_IN
AppStoreStarRating
```
## 获取地区信息
1. 该插件需要从Unity端调用,调用方式参考[文档](http://wiki.yunchanggame.com/pages/viewpage.action?pageId=23659022)
2. Podfile中的YCSuperSDK_Plugin的subspecs,添加**DeviceLocale**
3. Info.plist中,指定加载插件类`DeviceLocale`。在SSDKConfig下的SSDK_PLUG_IN,添加**DeviceLocale**
```
SSDKConfig
SSDK_PLUG_IN
DeviceLocale
```
## 作者
- wangxudong
- jasontujun