# 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,如下图 ![avatar](doc_static/asdom.png) 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,用于从微信返回游戏。如下图: ![avatar](doc_static/share.jpg) 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,如下图 ![avatar](doc_static/asdom.png) 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返回游戏。如下图(以微信为例): ![avatar](doc_static/share.jpg) 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标签页中,打开推送开关。如下图: ![avatar](doc_static/iOSXGCap.jpg) 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 选项,如图: ![avatar](doc_static/iOSNotification.png) 7. 如使用 Xcode 10及以上环境开发,请开启 Application Target 的 Capabilities添加 Access WIFI Infomation 选项。 ![avatar](doc_static/iOSWifi.png) 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