allez
2021-03-18 72e4ea041819962004c4f05b415d24afa361c16d
gtios sdk
216个文件已添加
1707 ■■■■■ 已修改文件
Channel/IOS/gtios/Plugins/AppsFlyerLib.framework/AppsFlyerLib 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/AppsFlyerLib.framework/Headers 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/AppsFlyerLib.framework/Modules/module.modulemap 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/AppsFlyerLib.framework/Versions/A/AppsFlyerLib 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/AppsFlyerLib.framework/Versions/A/Headers/AppsFlyerCrossPromotionHelper.h 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/AppsFlyerLib.framework/Versions/A/Headers/AppsFlyerDeepLink.h 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/AppsFlyerLib.framework/Versions/A/Headers/AppsFlyerDeepLinkResult.h 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/AppsFlyerLib.framework/Versions/A/Headers/AppsFlyerLib.h 639 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/AppsFlyerLib.framework/Versions/A/Headers/AppsFlyerLinkGenerator.h 52 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/AppsFlyerLib.framework/Versions/A/Headers/AppsFlyerShareInviteHelper.h 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/AppsFlyerLib.framework/Versions/Current 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/The2thWorldSDK/The2thWorldRES.bundle/TY_AN_34.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/The2thWorldSDK/The2thWorldRES.bundle/The2thWorldSDKConfig.plist 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/The2thWorldSDK/UniversalSDK.h 78 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/The2thWorldSDK/UniversalSDK.mm 498 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/GoogleService-Info.plist 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/GoogleSignIn.bundle/Info.plist 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/GoogleSignIn.bundle/Roboto-Bold.ttf 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/GoogleSignIn.bundle/ar.lproj/GoogleSignIn.strings 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/GoogleSignIn.bundle/ca.lproj/GoogleSignIn.strings 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/GoogleSignIn.bundle/cs.lproj/GoogleSignIn.strings 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/GoogleSignIn.bundle/da.lproj/GoogleSignIn.strings 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/GoogleSignIn.bundle/de.lproj/GoogleSignIn.strings 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/GoogleSignIn.bundle/el.lproj/GoogleSignIn.strings 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/GoogleSignIn.bundle/en.lproj/GoogleSignIn.strings 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/GoogleSignIn.bundle/en_GB.lproj/GoogleSignIn.strings 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/GoogleSignIn.bundle/es.lproj/GoogleSignIn.strings 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/GoogleSignIn.bundle/es_MX.lproj/GoogleSignIn.strings 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/GoogleSignIn.bundle/fi.lproj/GoogleSignIn.strings 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/GoogleSignIn.bundle/fr.lproj/GoogleSignIn.strings 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/GoogleSignIn.bundle/google.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/GoogleSignIn.bundle/google@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/GoogleSignIn.bundle/google@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/GoogleSignIn.bundle/gplus.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/GoogleSignIn.bundle/gplus@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/GoogleSignIn.bundle/gplus@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/GoogleSignIn.bundle/he.lproj/GoogleSignIn.strings 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/GoogleSignIn.bundle/hr.lproj/GoogleSignIn.strings 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/GoogleSignIn.bundle/hu.lproj/GoogleSignIn.strings 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/GoogleSignIn.bundle/id.lproj/GoogleSignIn.strings 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/GoogleSignIn.bundle/it.lproj/GoogleSignIn.strings 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/GoogleSignIn.bundle/ja.lproj/GoogleSignIn.strings 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/GoogleSignIn.bundle/ko.lproj/GoogleSignIn.strings 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/GoogleSignIn.bundle/ms.lproj/GoogleSignIn.strings 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/GoogleSignIn.bundle/nb.lproj/GoogleSignIn.strings 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/GoogleSignIn.bundle/nl.lproj/GoogleSignIn.strings 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/GoogleSignIn.bundle/pl.lproj/GoogleSignIn.strings 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/GoogleSignIn.bundle/pt.lproj/GoogleSignIn.strings 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/GoogleSignIn.bundle/pt_BR.lproj/GoogleSignIn.strings 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/GoogleSignIn.bundle/pt_PT.lproj/GoogleSignIn.strings 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/GoogleSignIn.bundle/ro.lproj/GoogleSignIn.strings 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/GoogleSignIn.bundle/ru.lproj/GoogleSignIn.strings 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/GoogleSignIn.bundle/sk.lproj/GoogleSignIn.strings 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/GoogleSignIn.bundle/sv.lproj/GoogleSignIn.strings 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/GoogleSignIn.bundle/th.lproj/GoogleSignIn.strings 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/GoogleSignIn.bundle/tr.lproj/GoogleSignIn.strings 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/GoogleSignIn.bundle/uk.lproj/GoogleSignIn.strings 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/GoogleSignIn.bundle/vi.lproj/GoogleSignIn.strings 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/GoogleSignIn.bundle/zh_CN.lproj/GoogleSignIn.strings 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/GoogleSignIn.bundle/zh_TW.lproj/GoogleSignIn.strings 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/ViewControllerNib/YYJAboutAccountViewController.nib 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/ViewControllerNib/YYJAccountViewController.nib 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/ViewControllerNib/YYJChangPwdViewController.nib 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/ViewControllerNib/YYJComRegisterViewController.nib 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/ViewControllerNib/YYJEditAccountViewController.nib 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/ViewControllerNib/YYJFindPswViewController.nib 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/ViewControllerNib/YYJLoginViewController.nib 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/ViewControllerNib/YYJMinAccountTableViewCell.nib 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/ViewControllerNib/YYJMinAccountViewController.nib/objects-11.0+.nib 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/ViewControllerNib/YYJMinAccountViewController.nib/runtime.nib 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/ViewControllerNib/YYJPhoneRegisterViewController.nib 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/ViewControllerNib/YYJPhoneSettingPswViewController.nib 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/ViewControllerNib/YYJQuickRegisterViewController.nib 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/ViewControllerNib/YYJRealNameViewController.nib 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/ViewControllerNib/YYJResetPswViewController.nib 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/ViewControllerNib/YYJSafetySettingViewController.nib 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/ViewControllerNib/YYJSafetyWarmViewController.nib 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_aq_.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_aq_@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_aq_@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_back.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_back@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_back@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_back_press.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_back_press@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_back_press@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_close_press.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_close_press@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_close_press@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_close_rightbtn.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_close_rightbtn@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_close_rightbtn@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_icon_account.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_icon_account@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_icon_account@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_icon_account_press.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_icon_account_press@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_icon_account_press@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_icon_code.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_icon_code@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_icon_code@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_icon_code_press.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_icon_code_press@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_icon_code_press@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_icon_email.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_icon_email@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_icon_email@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_icon_id.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_icon_id@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_icon_id@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_icon_id_press.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_icon_id_press@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_icon_id_press@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_icon_mobile.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_icon_mobile@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_icon_mobile@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_icon_mobile_press.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_icon_mobile_press@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_icon_mobile_press@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_icon_realname.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_icon_realname@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_icon_realname@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_icon_realname_press.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_icon_realname_press@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_icon_realname_press@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_icon_secret.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_icon_secret@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_icon_secret@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_icon_secret_press.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_icon_secret_press@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_icon_secret_press@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_icon_validati.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_icon_validati@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_icon_validati@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_icon_validation_press.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_icon_validation_press@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_icon_validation_press@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_logo.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_check.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_check@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_check@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_dropdown.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_dropdown@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_dropdown@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_dropdown_click.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_dropdown_press.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_dropdown_press@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_dropdown_press@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_hide_password.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_hide_password@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_hide_password@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_ic_add.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_ic_explain.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_ic_facebook@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_ic_facebook@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_ic_google@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_ic_google@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_phone.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_phone@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_phone@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_phone_press.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_phone_press@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_phone_press@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_q@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_q@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_quick.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_quick@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_quick@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_quick_press.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_quick_press@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_quick_press@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_show_password.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_show_password@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_show_password@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_si@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_si@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_toolbaricon_ service.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_toolbaricon_BMailog.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_toolbaricon_bbs.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_toolbaricon_click.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_toolbaricon_end.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_toolbaricon_left.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_toolbaricon_manage.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_toolbaricon_moreapp.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_toolbaricon_pack.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_toolbaricon_paylog.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_toolbaricon_right.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_toolbaricon_rightend.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_uncheck.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_uncheck@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_uncheck@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_yk@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_yk@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/yyj_sdk_float_view_account.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/yyj_sdk_float_view_account_switch.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/yyj_sdk_float_view_account_switch@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/yyj_sdk_float_view_account_switch@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/yyj_sdk_float_view_customer_service.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/yyj_sdk_float_view_fb.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/yyj_sdk_float_view_game_zone.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/yyj_sdk_float_view_gift.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/yyj_sdk_float_view_logout.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/yyj_sdk_float_view_message.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/yyj_sdk_float_view_more_game.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/yyj_sdk_float_view_news.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/yyj_sdk_float_view_passwd_change.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/yyj_sdk_float_view_passwd_change@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/yyj_sdk_float_view_passwd_change@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/yyj_sdk_float_view_safe_icon.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/yyj_sdk_float_view_safe_icon@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/yyj_sdk_float_view_safe_icon@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.framework/Headers/YYJPlatform.h 202 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.framework/Headers/YYJPlatformDefines.h 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.framework/Info.plist 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.framework/Modules/module.modulemap 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.framework/YYJPlatform 补丁 | 查看 | 原始文档 | blame | 历史
Channel/IOS/gtios/Plugins/AppsFlyerLib.framework/AppsFlyerLib
New file
@@ -0,0 +1 @@
Versions/Current/AppsFlyerLib
Channel/IOS/gtios/Plugins/AppsFlyerLib.framework/Headers
New file
@@ -0,0 +1 @@
Versions/Current/Headers
Channel/IOS/gtios/Plugins/AppsFlyerLib.framework/Modules/module.modulemap
New file
@@ -0,0 +1,6 @@
framework module AppsFlyerLib {
umbrella header "AppsFlyerLib.h"
export *
module * { export * }
}
Channel/IOS/gtios/Plugins/AppsFlyerLib.framework/Versions/A/AppsFlyerLib
Binary files differ
Channel/IOS/gtios/Plugins/AppsFlyerLib.framework/Versions/A/Headers/AppsFlyerCrossPromotionHelper.h
New file
@@ -0,0 +1,49 @@
//
//  CrossPromotionHelper.h
//  AppsFlyerLib
//
//  Created by Gil Meroz on 27/01/2017.
//
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
/**
 AppsFlyer allows you to log and attribute installs originating
 from cross promotion campaigns of your existing apps.
 Afterwards, you can optimize on your cross-promotion traffic to get even better results.
 */
@interface AppsFlyerCrossPromotionHelper : NSObject
/**
 To log an impression use the following API call.
 Make sure to use the promoted App ID as it appears within the AppsFlyer dashboard.
 @param appID Promoted App ID
 @param campaign A campaign name
 @param parameters Additional params like `@{@"af_sub1": @"val", @"custom_param": @"val2" }`
*/
+ (void)logCrossPromoteImpression:(nonnull NSString *)appID
                         campaign:(nullable NSString *)campaign
                       parameters:(nullable NSDictionary *)parameters;
/**
 iOS allows you to utilize the StoreKit component to open
 the App Store while remaining in the context of your app.
 More details at https://support.appsflyer.com/hc/en-us/articles/115004481946-Cross-Promotion-Tracking#tracking-cross-promotion-impressions
 @param appID Promoted App ID
 @param campaign A campaign name
 @param parameters Additional params like `@{@"af_sub1": @"val", @"custom_param": @"val2" }`
 @param openStoreBlock Contains promoted `clickURL`
 */
+ (void)logAndOpenStore:(nonnull NSString *)appID
               campaign:(nullable NSString *)campaign
             parameters:(nullable NSDictionary *)parameters
              openStore:(void (^)(NSURLSession *urlSession, NSURL *clickURL))openStoreBlock;
@end
NS_ASSUME_NONNULL_END
Channel/IOS/gtios/Plugins/AppsFlyerLib.framework/Versions/A/Headers/AppsFlyerDeepLink.h
New file
@@ -0,0 +1,36 @@
//
//  AFSDKDeeplink.h
//  AppsFlyerLib
//
//  Created by Andrii Hahan on 20.08.2020.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
NS_SWIFT_NAME(DeepLink)
@interface AppsFlyerDeepLink : NSObject
- (nonnull instancetype)init NS_UNAVAILABLE;
+ (nonnull instancetype)new NS_UNAVAILABLE;
@property (readonly, nonnull) NSDictionary<NSString *, id> *clickEvent;
@property (readonly, nullable) NSString *deeplinkValue;
@property (readonly, nullable) NSString *matchType;
@property (readonly, nullable) NSString *clickHTTPReferrer;
@property (readonly, nullable) NSString *mediaSource;
@property (readonly, nullable) NSString *campaign;
@property (readonly, nullable) NSString *campaignId;
@property (readonly, nullable) NSString *afSub1;
@property (readonly, nullable) NSString *afSub2;
@property (readonly, nullable) NSString *afSub3;
@property (readonly, nullable) NSString *afSub4;
@property (readonly, nullable) NSString *afSub5;
@property (readonly) BOOL isDeferred;
- (NSString *)toString;
@end
NS_ASSUME_NONNULL_END
Channel/IOS/gtios/Plugins/AppsFlyerLib.framework/Versions/A/Headers/AppsFlyerDeepLinkResult.h
New file
@@ -0,0 +1,29 @@
//
//  AFSDKDeeplinkResult.h
//  AppsFlyerLib
//
//  Created by Andrii Hahan on 20.08.2020.
//
#import <Foundation/Foundation.h>
@class AppsFlyerDeepLink;
typedef NS_CLOSED_ENUM(NSUInteger, AFSDKDeepLinkResultStatus) {
    AFSDKDeepLinkResultStatusNotFound,
    AFSDKDeepLinkResultStatusFound,
    AFSDKDeepLinkResultStatusFailure,
} NS_SWIFT_NAME(DeepLinkResultStatus);
NS_SWIFT_NAME(DeepLinkResult)
@interface AppsFlyerDeepLinkResult : NSObject
- (nonnull instancetype)init NS_UNAVAILABLE;
+ (nonnull instancetype)new NS_UNAVAILABLE;
@property(readonly) AFSDKDeepLinkResultStatus status;
@property(readonly, nullable) AppsFlyerDeepLink *deepLink;
@property(readonly, nullable) NSError *error;
@end
Channel/IOS/gtios/Plugins/AppsFlyerLib.framework/Versions/A/Headers/AppsFlyerLib.h
New file
@@ -0,0 +1,639 @@
//
//  AppsFlyerLib.h
//  AppsFlyerLib
//
//  AppsFlyer iOS SDK 6.2.4 (71)
//  Copyright (c) 2012-2020 AppsFlyer Ltd. All rights reserved.
//
#import <Foundation/Foundation.h>
#import "AppsFlyerCrossPromotionHelper.h"
#import "AppsFlyerShareInviteHelper.h"
#import "AppsFlyerDeepLinkResult.h"
#import "AppsFlyerDeepLink.h"
NS_ASSUME_NONNULL_BEGIN
// In app event names constants
#define AFEventLevelAchieved            @"af_level_achieved"
#define AFEventAddPaymentInfo           @"af_add_payment_info"
#define AFEventAddToCart                @"af_add_to_cart"
#define AFEventAddToWishlist            @"af_add_to_wishlist"
#define AFEventCompleteRegistration     @"af_complete_registration"
#define AFEventTutorial_completion      @"af_tutorial_completion"
#define AFEventInitiatedCheckout        @"af_initiated_checkout"
#define AFEventPurchase                 @"af_purchase"
#define AFEventRate                     @"af_rate"
#define AFEventSearch                   @"af_search"
#define AFEventSpentCredits             @"af_spent_credits"
#define AFEventAchievementUnlocked      @"af_achievement_unlocked"
#define AFEventContentView              @"af_content_view"
#define AFEventListView                 @"af_list_view"
#define AFEventTravelBooking            @"af_travel_booking"
#define AFEventShare                    @"af_share"
#define AFEventInvite                   @"af_invite"
#define AFEventLogin                    @"af_login"
#define AFEventReEngage                 @"af_re_engage"
#define AFEventUpdate                   @"af_update"
#define AFEventOpenedFromPushNotification @"af_opened_from_push_notification"
#define AFEventLocation                 @"af_location_coordinates"
#define AFEventCustomerSegment          @"af_customer_segment"
#define AFEventSubscribe                @"af_subscribe"
#define AFEventStartTrial               @"af_start_trial"
#define AFEventAdClick                  @"af_ad_click"
#define AFEventAdView                   @"af_ad_view"
// In app event parameter names
#define AFEventParamContent                @"af_content"
#define AFEventParamAchievementId          @"af_achievement_id"
#define AFEventParamLevel                  @"af_level"
#define AFEventParamScore                  @"af_score"
#define AFEventParamSuccess                @"af_success"
#define AFEventParamPrice                  @"af_price"
#define AFEventParamContentType            @"af_content_type"
#define AFEventParamContentId              @"af_content_id"
#define AFEventParamContentList            @"af_content_list"
#define AFEventParamCurrency               @"af_currency"
#define AFEventParamQuantity               @"af_quantity"
#define AFEventParamRegistrationMethod     @"af_registration_method"
#define AFEventParamPaymentInfoAvailable   @"af_payment_info_available"
#define AFEventParamMaxRatingValue         @"af_max_rating_value"
#define AFEventParamRatingValue            @"af_rating_value"
#define AFEventParamSearchString           @"af_search_string"
#define AFEventParamDateA                  @"af_date_a"
#define AFEventParamDateB                  @"af_date_b"
#define AFEventParamDestinationA           @"af_destination_a"
#define AFEventParamDestinationB           @"af_destination_b"
#define AFEventParamDescription            @"af_description"
#define AFEventParamClass                  @"af_class"
#define AFEventParamEventStart             @"af_event_start"
#define AFEventParamEventEnd               @"af_event_end"
#define AFEventParamLat                    @"af_lat"
#define AFEventParamLong                   @"af_long"
#define AFEventParamCustomerUserId         @"af_customer_user_id"
#define AFEventParamValidated              @"af_validated"
#define AFEventParamRevenue                @"af_revenue"
#define AFEventProjectedParamRevenue       @"af_projected_revenue"
#define AFEventParamReceiptId              @"af_receipt_id"
#define AFEventParamTutorialId             @"af_tutorial_id"
#define AFEventParamVirtualCurrencyName    @"af_virtual_currency_name"
#define AFEventParamDeepLink               @"af_deep_link"
#define AFEventParamOldVersion             @"af_old_version"
#define AFEventParamNewVersion             @"af_new_version"
#define AFEventParamReviewText             @"af_review_text"
#define AFEventParamCouponCode             @"af_coupon_code"
#define AFEventParamOrderId                @"af_order_id"
#define AFEventParam1                      @"af_param_1"
#define AFEventParam2                      @"af_param_2"
#define AFEventParam3                      @"af_param_3"
#define AFEventParam4                      @"af_param_4"
#define AFEventParam5                      @"af_param_5"
#define AFEventParam6                      @"af_param_6"
#define AFEventParam7                      @"af_param_7"
#define AFEventParam8                      @"af_param_8"
#define AFEventParam9                      @"af_param_9"
#define AFEventParam10                     @"af_param_10"
#define AFEventParamDepartingDepartureDate  @"af_departing_departure_date"
#define AFEventParamReturningDepartureDate  @"af_returning_departure_date"
#define AFEventParamDestinationList         @"af_destination_list"  //array of string
#define AFEventParamCity                    @"af_city"
#define AFEventParamRegion                  @"af_region"
#define AFEventParamCountry                 @"af_country"
#define AFEventParamDepartingArrivalDate    @"af_departing_arrival_date"
#define AFEventParamReturningArrivalDate    @"af_returning_arrival_date"
#define AFEventParamSuggestedDestinations   @"af_suggested_destinations" //array of string
#define AFEventParamTravelStart             @"af_travel_start"
#define AFEventParamTravelEnd               @"af_travel_end"
#define AFEventParamNumAdults               @"af_num_adults"
#define AFEventParamNumChildren             @"af_num_children"
#define AFEventParamNumInfants              @"af_num_infants"
#define AFEventParamSuggestedHotels         @"af_suggested_hotels" //array of string
#define AFEventParamUserScore               @"af_user_score"
#define AFEventParamHotelScore              @"af_hotel_score"
#define AFEventParamPurchaseCurrency        @"af_purchase_currency"
#define AFEventParamPreferredStarRatings    @"af_preferred_star_ratings"    //array of int (basically a tuple (min,max) but we'll use array of int and instruct the developer to use two values)
#define AFEventParamPreferredPriceRange     @"af_preferred_price_range"    //array of int (basically a tuple (min,max) but we'll use array of int and instruct the developer to use two values)
#define AFEventParamPreferredNeighborhoods  @"af_preferred_neighborhoods" //array of string
#define AFEventParamPreferredNumStops       @"af_preferred_num_stops"
#define AFEventParamAdRevenueAdType              @"af_adrev_ad_type"
#define AFEventParamAdRevenueNetworkName         @"af_adrev_network_name"
#define AFEventParamAdRevenuePlacementId         @"af_adrev_placement_id"
#define AFEventParamAdRevenueAdSize              @"af_adrev_ad_size"
#define AFEventParamAdRevenueMediatedNetworkName @"af_adrev_mediated_network_name"
/// Mail hashing type
typedef enum  {
    /// None
    EmailCryptTypeNone = 0,
    /// SHA1
    EmailCryptTypeSHA1 = 1,
    /// MD5
    EmailCryptTypeMD5 = 2,
    /// SHA256
    EmailCryptTypeSHA256 = 3
} EmailCryptType;
NS_SWIFT_NAME(DeepLinkDelegate)
@protocol AppsFlyerDeepLinkDelegate <NSObject>
@optional
- (void)didResolveDeepLink:(AppsFlyerDeepLinkResult *_Nonnull)result;
@end
/**
 Conform and subscribe to this protocol to allow getting data about conversion and
 install attribution
 */
@protocol AppsFlyerLibDelegate <NSObject>
/**
 `conversionInfo` contains information about install.
 Organic/non-organic, etc.
 @param conversionInfo May contain <code>null</code> values for some keys. Please handle this case.
 */
- (void)onConversionDataSuccess:(NSDictionary *)conversionInfo;
/**
 Any errors that occurred during the conversion request.
 */
- (void)onConversionDataFail:(NSError *)error;
@optional
/**
 `attributionData` contains information about OneLink, deeplink.
 */
- (void)onAppOpenAttribution:(NSDictionary *)attributionData;
/**
 Any errors that occurred during the attribution request.
 */
- (void)onAppOpenAttributionFailure:(NSError *)error;
/**
 @abstract Sets the HTTP header fields of the ESP resolving to the given
 dictionary.
 @discussion This method replaces all header fields that may have
 existed before this method ESP resolving call.
 To keep default SDK behavior - return nil;
 */
- (NSDictionary <NSString *, NSString *> * _Nullable)allHTTPHeaderFieldsForResolveDeepLinkURL:(NSURL *)URL;
@end
/**
 You can log installs, app updates, sessions and additional in-app events
 (including in-app purchases, game levels, etc.)
 to evaluate ROI and user engagement.
 The iOS SDK is compatible with all iOS/tvOS devices with iOS version 7 and above.
 @see [SDK Integration Validator](https://support.appsflyer.com/hc/en-us/articles/207032066-AppsFlyer-SDK-Integration-iOS)
 for more information.
 */
@interface AppsFlyerLib : NSObject
/**
 Gets the singleton instance of the AppsFlyerLib class, creating it if
 necessary.
 @return The singleton instance of AppsFlyerLib.
 */
+ (AppsFlyerLib *)shared;
/**
 In case you use your own user ID in your app, you can set this property to that ID.
 Enables you to cross-reference your own unique ID with AppsFlyer’s unique ID and the other devices’ IDs
 */
@property(nonatomic, strong, nullable) NSString * customerUserID;
/**
 In case you use custom data and you want to receive it in the raw reports.
 @see [Setting additional custom data](https://support.appsflyer.com/hc/en-us/articles/207032066-AppsFlyer-SDK-Integration-iOS#setting-additional-custom-data) for more information.
 */
@property(nonatomic, strong, nullable, setter = setAdditionalData:) NSDictionary * customData;
/**
 Use this property to set your AppsFlyer's dev key
 */
@property(nonatomic, strong) NSString * appsFlyerDevKey;
/**
 Use this property to set your app's Apple ID(taken from the app's page on iTunes Connect)
 */
@property(nonatomic, strong) NSString * appleAppID;
#ifndef AFSDK_NO_IDFA
/**
 AppsFlyer SDK collect Apple's `advertisingIdentifier` if the `AdSupport.framework` included in the SDK.
 You can disable this behavior by setting the following property to YES
*/
@property(nonatomic) BOOL disableAdvertisingIdentifier;
@property(nonatomic, strong, readonly) NSString *advertisingIdentifier;
/**
 Waits for request user authorization to access app-related data
 */
- (void)waitForATTUserAuthorizationWithTimeoutInterval:(NSTimeInterval)timeoutInterval
NS_SWIFT_NAME(waitForATTUserAuthorization(timeoutInterval:));
#endif
@property(nonatomic) BOOL disableSKAdNetwork;
/**
 In case of in app purchase events, you can set the currency code your user has purchased with.
 The currency code is a 3 letter code according to ISO standards
 Objective-C:
 <pre>
 [[AppsFlyerLib shared] setCurrencyCode:@"USD"];
 </pre>
 Swift:
 <pre>
 AppsFlyerLib.shared().currencyCode = "USD"
 </pre>
 */
@property(nonatomic, strong, nullable) NSString *currencyCode;
/**
 Prints SDK messages to the console log. This property should only be used in `DEBUG` mode.
 The default value is `NO`
 */
@property(nonatomic) BOOL isDebug;
/**
 Set this flag to `YES`, to collect the current device name(e.g. "My iPhone"). Default value is `NO`
 */
@property(nonatomic) BOOL shouldCollectDeviceName;
/**
 Set your `OneLink ID` from OneLink configuration. Used in User Invites to generate a OneLink.
 */
@property(nonatomic, strong, nullable, setter = setAppInviteOneLink:) NSString * appInviteOneLinkID;
/**
 Opt-out logging for specific user
 */
@property(atomic) BOOL anonymizeUser;
/**
 Opt-out for Apple Search Ads attributions
 */
@property(atomic) BOOL disableCollectASA;
@property(nonatomic) BOOL disableAppleAdsAttribution;
/**
 AppsFlyer delegate. See `AppsFlyerLibDelegate`
 */
@property(weak, nonatomic) id<AppsFlyerLibDelegate> delegate;
@property(weak, nonatomic) id<AppsFlyerDeepLinkDelegate> deepLinkDelegate;
/**
 In app purchase receipt validation Apple environment(production or sandbox). The default value is NO
 */
@property(nonatomic) BOOL useReceiptValidationSandbox;
/**
 Set this flag to test uninstall on Apple environment(production or sandbox). The default value is NO
 */
@property(nonatomic) BOOL useUninstallSandbox;
/**
 For advertisers who wrap OneLink within another Universal Link.
 An advertiser will be able to deeplink from a OneLink wrapped within another Universal Link and also log this retargeting conversion.
 Objective-C:
 <pre>
 [[AppsFlyerLib shared] setResolveDeepLinkURLs:@[@"domain.com", @"subdomain.domain.com"]];
 </pre>
 */
@property(nonatomic, nullable) NSArray<NSString *> *resolveDeepLinkURLs;
/**
 For advertisers who use vanity OneLinks.
 Objective-C:
 <pre>
 [[AppsFlyerLib shared] oneLinkCustomDomains:@[@"domain.com", @"subdomain.domain.com"]];
 </pre>
 */
@property(nonatomic, nullable) NSArray<NSString *> *oneLinkCustomDomains;
/*
 * Set phone number for each `start` event. `phoneNumber` will be sent as SHA256 string
 */
@property(nonatomic, nullable) NSString *phoneNumber;
- (NSString *)phoneNumber UNAVAILABLE_ATTRIBUTE;
/**
 To disable app's vendor identifier(IDFV), set disableIDFVCollection to true
 */
@property(nonatomic) BOOL disableIDFVCollection;
/**
 Enable the collection of Facebook Deferred AppLinks
 Requires Facebook SDK and Facebook app on target/client device.
 This API must be invoked prior to initializing the AppsFlyer SDK in order to function properly.
 Objective-C:
 <pre>
 [[AppsFlyerLib shared] enableFacebookDeferredApplinksWithClass:[FBSDKAppLinkUtility class]]
 </pre>
 Swift:
 <pre>
 AppsFlyerLib.shared().enableFacebookDeferredApplinks(with: FBSDKAppLinkUtility.self)
 </pre>
 @param facebookAppLinkUtilityClass requeries method call `[FBSDKAppLinkUtility class]` as param.
 */
- (void)enableFacebookDeferredApplinksWithClass:(Class _Nullable)facebookAppLinkUtilityClass;
/**
 Use this to send the user's emails
 @param userEmails The list of strings that hold mails
 @param type Hash algoritm
 */
- (void)setUserEmails:(NSArray<NSString *> * _Nullable)userEmails withCryptType:(EmailCryptType)type;
/**
 Start SDK session
 Add the following method at the `applicationDidBecomeActive` in AppDelegate class
 */
- (void)start;
- (void)startWithCompletionHandler:(void (^ _Nullable)(NSDictionary<NSString *, id> * _Nullable dictionary, NSError * _Nullable error))completionHandler;
/**
 Use this method to log an events with multiple values. See AppsFlyer's documentation for details.
 Objective-C:
 <pre>
 [[AppsFlyerLib shared] logEvent:AFEventPurchase
        withValues: @{AFEventParamRevenue  : @200,
                      AFEventParamCurrency : @"USD",
                      AFEventParamQuantity : @2,
                      AFEventParamContentId: @"092",
                      AFEventParamReceiptId: @"9277"}];
 </pre>
 Swift:
 <pre>
 AppsFlyerLib.shared().logEvent(AFEventPurchase,
        withValues: [AFEventParamRevenue  : "1200",
                     AFEventParamContent  : "shoes",
                     AFEventParamContentId: "123"])
 </pre>
 @param eventName Contains name of event that could be provided from predefined constants in `AppsFlyerLib.h`
 @param values Contains dictionary of values for handling by backend
 */
- (void)logEvent:(NSString *)eventName withValues:(NSDictionary * _Nullable)values;
- (void)logEventWithEventName:(NSString *)eventName
                  eventValues:(NSDictionary<NSString * , id> * _Nullable)eventValues
            completionHandler:(void (^ _Nullable)(NSDictionary<NSString *, id> * _Nullable dictionary, NSError * _Nullable error))completionHandler
NS_SWIFT_NAME(logEvent(name:values:completionHandler:));
/**
 To log and validate in app purchases you can call this method from the completeTransaction: method on
 your `SKPaymentTransactionObserver`.
 @param productIdentifier The product identifier
 @param price The product price
 @param currency The product currency
 @param transactionId The purchase transaction Id
 @param params The additional param, which you want to receive it in the raw reports
 @param successBlock The success callback
 @param failedBlock The failure callback
 */
- (void)validateAndLogInAppPurchase:(NSString * _Nullable)productIdentifier
                              price:(NSString * _Nullable)price
                           currency:(NSString * _Nullable)currency
                      transactionId:(NSString * _Nullable)transactionId
               additionalParameters:(NSDictionary * _Nullable)params
                            success:(void (^ _Nullable)(NSDictionary * response))successBlock
                            failure:(void (^ _Nullable)(NSError * _Nullable error, id _Nullable reponse))failedBlock NS_AVAILABLE(10_7, 7_0);
/**
 To log location for geo-fencing. Does the same as code below.
 <pre>
 AppsFlyerLib.shared().logEvent(AFEventLocation, withValues: [AFEventParamLong:longitude, AFEventParamLat:latitude])
 </pre>
 @param longitude The location longitude
 @param latitude The location latitude
 */
- (void)logLocation:(double)longitude latitude:(double)latitude NS_SWIFT_NAME(logLocation(longitude:latitude:));
/**
 This method returns AppsFlyer's internal id(unique for your app)
 @return Internal AppsFlyer Id
 */
- (NSString *)getAppsFlyerUID;
/**
 In case you want to log deep linking. Does the same as `-handleOpenURL:sourceApplication:withAnnotation`.
 @warning Preferred to use `-handleOpenURL:sourceApplication:withAnnotation`.
 @param url The URL that was passed to your AppDelegate.
 @param sourceApplication The sourceApplication that passed to your AppDelegate.
 */
- (void)handleOpenURL:(NSURL * _Nullable)url sourceApplication:(NSString * _Nullable)sourceApplication API_UNAVAILABLE(macos);
/**
 In case you want to log deep linking.
 Call this method from inside your AppDelegate `-application:openURL:sourceApplication:annotation:`
 @param url The URL that was passed to your AppDelegate.
 @param sourceApplication The sourceApplication that passed to your AppDelegate.
 @param annotation The annotation that passed to your app delegate.
 */
- (void)handleOpenURL:(NSURL * _Nullable)url
    sourceApplication:(NSString * _Nullable)sourceApplication
       withAnnotation:(id _Nullable)annotation API_UNAVAILABLE(macos);
/**
 Call this method from inside of your AppDelegate `-application:openURL:options:` method.
 This method is functionally the same as calling the AppsFlyer method
 `-handleOpenURL:sourceApplication:withAnnotation`.
 @param url The URL that was passed to your app delegate
 @param options The options dictionary that was passed to your AppDelegate.
 */
- (void)handleOpenUrl:(NSURL * _Nullable)url options:(NSDictionary * _Nullable)options API_UNAVAILABLE(macos);
/**
 Allow AppsFlyer to handle restoration from an NSUserActivity.
 Use this method to log deep links with OneLink.
 @param userActivity The NSUserActivity that caused the app to be opened.
 */
- (BOOL)continueUserActivity:(NSUserActivity * _Nullable)userActivity
          restorationHandler:(void (^ _Nullable)(NSArray * _Nullable))restorationHandler NS_AVAILABLE_IOS(9_0) API_UNAVAILABLE(macos);
/**
 Enable AppsFlyer to handle a push notification.
 @see [Learn more here](https://support.appsflyer.com/hc/en-us/articles/207364076-Measuring-Push-Notification-Re-Engagement-Campaigns)
 @warning To make it work - set data, related to AppsFlyer under key @"af".
 @param pushPayload The `userInfo` from received remote notification. One of root keys should be @"af".
 */
- (void)handlePushNotification:(NSDictionary * _Nullable)pushPayload;
/**
 Register uninstall - you should register for remote notification and provide AppsFlyer the push device token.
 @param deviceToken The `deviceToken` from `-application:didRegisterForRemoteNotificationsWithDeviceToken:`
 */
- (void)registerUninstall:(NSData * _Nullable)deviceToken;
/**
 Get SDK version.
 @return The AppsFlyer SDK version info.
 */
- (NSString *)getSDKVersion;
/**
 This is for internal use.
 */
- (void)remoteDebuggingCallWithData:(NSString *)data;
/**
 Used to force the trigger `onAppOpenAttribution` delegate.
 Notice, re-engagement, session and launch won't be counted.
 Only for OneLink/UniversalLink/Deeplink resolving.
 @param URL The param to resolve into -[AppsFlyerLibDelegate onAppOpenAttribution:]
 */
- (void)performOnAppAttributionWithURL:(NSURL * _Nullable)URL;
/**
 @brief This property accepts a string value representing the host name for all endpoints.
 Can be used to Zero rate your application’s data usage. Contact your CSM for more information.
 @warning To use `default` SDK endpoint – set value to `nil`.
 Objective-C:
 <pre>
 [[AppsFlyerLib shared] setHost:@"example.com"];
 </pre>
 Swift:
 <pre>
 AppsFlyerLib.shared().host = "example.com"
 </pre>
 */
@property(nonatomic, strong, readonly) NSString *host;
/**
 * This function set the host name and prefix host name for all the endpoints
 **/
- (void)setHost:(NSString *)host withHostPrefix:(NSString *)hostPrefix;
/**
 * This property accepts a string value representing the prefix host name for all endpoints.
 * for example "test" prefix with default host name will have the address "host.appsflyer.com"
 */
@property(nonatomic, strong, readonly) NSString *hostPrefix;
/**
 This property is responsible for timeout between sessions in seconds.
 Default value is 5 seconds.
 */
@property(atomic) NSUInteger minTimeBetweenSessions;
/**
 API to shut down all SDK activities.
 @warning This will disable all requests from AppsFlyer SDK.
 */
@property(atomic) BOOL isStopped;
/**
 API to set manually Facebook deferred app link
 */
@property(nonatomic, nullable) NSURL *facebookDeferredAppLink;
/**
 Block an events from being shared with ad networks and other 3rd party integrations
 Must only include letters/digits or underscore, maximum length: 45
 */
@property(nonatomic, nullable) NSArray<NSString *> *sharingFilter;
@property(nonatomic) NSUInteger deepLinkTimeout;
/**
 Block an events from being shared with any partner
 This method overwrite -[AppsFlyerLib setSharingFilter:]
 */
-(void)setSharingFilterForAllPartners;
/**
 Validate if URL contains certain string and append quiery
 parameters to deeplink URL. In case if URL does not contain user-defined string,
 parameters are not appended to the url.
 @param containsString string to check in URL.
 @param parameters NSDictionary, which containins parameters to append to the deeplink url after it passed validation.
 */
- (void)appendParametersToDeepLinkingURLWithString:(NSString *)containsString
                                        parameters:(NSDictionary<NSString *, NSString*> *)parameters
NS_SWIFT_NAME(appendParametersToDeeplinkURL(contains:parameters:));
/**
 Adds array of keys, which are used to compose key path
 to resolve deeplink from push notification payload `userInfo`.
 @param deepLinkPath an array of strings which contains keys to search for deeplink in payload.
 */
- (void)addPushNotificationDeepLinkPath:(NSArray<NSString *> *)deepLinkPath;
/**
 * Allows sending custom data for partner integration purposes.
 *
 * @param partnerId ID of the partner (usually has "_int" suffix)
 * @param partnerInfo customer data, depends on the integration nature with specific partner
 */
- (void)setPartnerDataWithPartnerId:(NSString * _Nullable)partnerId partnerInfo:(NSDictionary<NSString *, id> * _Nullable)partnerInfo
NS_SWIFT_NAME(setPartnerData(partnerId:partnerInfo:));
@end
NS_ASSUME_NONNULL_END
Channel/IOS/gtios/Plugins/AppsFlyerLib.framework/Versions/A/Headers/AppsFlyerLinkGenerator.h
New file
@@ -0,0 +1,52 @@
//
//  LinkGenerator.h
//  AppsFlyerLib
//
//  Created by Gil Meroz on 27/01/2017.
//
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
/**
 Payload container for the `generateInviteUrlWithLinkGenerator:completionHandler:` from `AppsFlyerShareInviteHelper`
 */
@interface AppsFlyerLinkGenerator : NSObject
/// Instance initialization is not allowed. Use generated instance
/// from `-[AppsFlyerShareInviteHelper generateInviteUrlWithLinkGenerator:completionHandler]`
- (instancetype)init NS_UNAVAILABLE;
/// Instance initialization is not allowed. Use generated instance
/// from `-[AppsFlyerShareInviteHelper generateInviteUrlWithLinkGenerator:completionHandler]`
+ (instancetype)new NS_UNAVAILABLE;
@property(nonatomic, nullable) NSString *brandDomain;
/// The channel through which the invite was sent (e.g. Facebook/Gmail/etc.). Usage: Recommended
- (void)setChannel           :(nonnull NSString *)channel;
/// ReferrerCustomerId setter
- (void)setReferrerCustomerId:(nonnull NSString *)referrerCustomerId;
/// A campaign name. Usage: Optional
- (void)setCampaign          :(nonnull NSString *)campaign;
/// ReferrerUID setter
- (void)setReferrerUID       :(nonnull NSString *)referrerUID;
/// Referrer name
- (void)setReferrerName      :(nonnull NSString *)referrerName;
/// The URL to referrer user avatar. Usage: Optional
- (void)setReferrerImageURL  :(nonnull NSString *)referrerImageURL;
/// AppleAppID
- (void)setAppleAppID        :(nonnull NSString *)appleAppID;
/// Deeplink path
- (void)setDeeplinkPath      :(nonnull NSString *)deeplinkPath;
/// Base deeplink path
- (void)setBaseDeeplink      :(nonnull NSString *)baseDeeplink;
/// A single key value custom parameter. Usage: Optional
- (void)addParameterValue    :(nonnull NSString *)value forKey:(NSString *)key;
/// Multiple key value custom parameters. Usage: Optional
- (void)addParameters        :(nonnull NSDictionary *)parameters;
@end
NS_ASSUME_NONNULL_END
Channel/IOS/gtios/Plugins/AppsFlyerLib.framework/Versions/A/Headers/AppsFlyerShareInviteHelper.h
New file
@@ -0,0 +1,35 @@
//
//  ShareInviteHelper.h
//  AppsFlyerLib
//
//  Created by Gil Meroz on 27/01/2017.
//
//
#import <Foundation/Foundation.h>
#import "AppsFlyerLinkGenerator.h"
/**
 AppsFlyerShareInviteHelper
 */
@interface AppsFlyerShareInviteHelper : NSObject
NS_ASSUME_NONNULL_BEGIN
/**
 *  The AppsFlyerShareInviteHelper class builds the invite URL according to various setter methods
 *  which allow passing on additional information on the click.
 *  This information is available through `onConversionDataReceived:` when the user accepts the invite and installs the app.
 *  In addition, campaign and channel parameters are visible within the AppsFlyer Dashboard.
 */
+ (void)generateInviteUrlWithLinkGenerator:(AppsFlyerLinkGenerator *(^)(AppsFlyerLinkGenerator *generator))generatorCreator completionHandler:(void (^)(NSURL *_Nullable url))completionHandler;
/**
 *  It is recommended to generate an in-app event after the invite is sent to log the invites from the senders' perspective.
 *  This enables you to find the users that tend most to invite friends, and the media sources that get you these users.
 */
+ (void)logInvite:(nullable NSString *)channel parameters:(nullable NSDictionary *)parameters;
@end
NS_ASSUME_NONNULL_END
Channel/IOS/gtios/Plugins/AppsFlyerLib.framework/Versions/Current
New file
@@ -0,0 +1 @@
A
Channel/IOS/gtios/Plugins/The2thWorldSDK/The2thWorldRES.bundle/TY_AN_34.png
Channel/IOS/gtios/Plugins/The2thWorldSDK/The2thWorldRES.bundle/The2thWorldSDKConfig.plist
New file
@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>JPush_AppKey</key>
    <string>111a5f817592ddc68edc802c</string>
    <key>TTTrack_AppID</key>
    <string>155761</string>
    <key>TrackingIO_AppKey</key>
    <string>12aef4c284c6996703765fe9f7422428</string>
</dict>
</plist>
Channel/IOS/gtios/Plugins/The2thWorldSDK/UniversalSDK.h
New file
@@ -0,0 +1,78 @@
//
//  UniversalSDK.h
//  Unity-iPhone
//
//  Created by 蔡瀚 on 2018/4/24.
//
#ifndef __UNIVERSALSDK_H_
#define __UNIVERSALSDK_H_
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
#define UNITY_OBJ_NAME "SDKUtility"
#define UNITY_FUNC_NAME "HandleSdkMessage"
#define YYJ_APPID    @"25969262062227241391437599980432"
#define YYJ_APPSCHEME      @"93995626"
#define S2U_BatteryLevel                1
#define S2U_BatteryCharging             2
#define S2U_SdkInitComplete             3
#define S2U_DeviceInfo                  4
#define S2U_PushClientID                5
#define S2U_FreePlatformInitOk          100
#define S2U_FreePlatformInitFail        101
#define S2U_FreePlatformLoginOk         102
#define S2U_FreePlatformLoginFail       103
#define S2U_FreePlatformLoginCancel     104
#define S2U_FreePlatformLogoutOk        105
#define S2U_FreePlatformLogoutFail      106
#define S2U_FreePlatformSwitchAccountOk 107
#define S2U_FreePlatformPayOk           108
#define S2U_FreePlatformPayFail         109
#define S2U_FreePlatformPayCancel       110
#define S2U_FreePlatformRegisterOk      111
#define U2S_BatteryListenStart          1
#define U2S_BatteryListenStop           2
#define U2S_CopyContent                 7
#define U2S_OpenWebView                 8
#define U2S_Init                        9
#define U2S_FreePlatformInit            100
#define U2S_FreePlatformLogin           101
#define U2S_FreePlatformLogout          102
#define U2S_FreePlatformSwitchAccount   103
#define U2S_FreePlatformPay             104
#define U2S_PayFinished                 105
#define U2S_CreateRole                  106
#define U2S_RoleLogin                   107
#define U2S_RoleLevelUp                 108
#define U2S_JPushAddLocalMessage        200
#define U2S_JPushRemoveLocalMessage     201
#define U2S_MakeKeyAndVisible           300
#define U2S_SendRegistEvent             500
#define U2S_SendLoginEvent              600
#define KIsiPhoneX ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(1125, 2436), [[UIScreen mainScreen] currentMode].size) : NO)
static BOOL     JPush_IsProduction = FALSE;
@interface UniversalSDK : NSObject {
    UIWebView* m_UIWebView;
    UIButton* m_CloseBtn;
}
-(void) HandleUnityMessage:(NSString*) json;
-(void) Init;
-(id) APNativeJSONObject:(NSData*) data;
-(NSData*) APNativeJSONData:(id) obj;
-(void) RemoveLocalNotificationWithIdentifierKey:(NSString*) idKey;
-(void) QuickSDKInit:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions;
@end
#endif
Channel/IOS/gtios/Plugins/The2thWorldSDK/UniversalSDK.mm
New file
@@ -0,0 +1,498 @@
//
//  UniversalSDK.m
//  Unity-iPhone
//
//  Created by 蔡瀚 on 2018/4/24.
//
#import "UniversalSDK.h"
#import "AdSupport/AdSupport.h"
#import "opus.h"
#ifdef NSFoundationVersionNumber_iOS_9_x_Max
#import <UserNotifications/UserNotifications.h>
#endif
#import "SystemConfiguration/CaptiveNetwork.h"
#import <YYJPlatform/YYJPlatform.h>
@interface UniversalSDK()<UIWebViewDelegate>
@end
@implementation UniversalSDK
#define CHANNEL_NUM 1
static int s_frequency = 16000;
static int s_bitRate = 20000;
static int s_bandMode = OPUS_BANDWIDTH_WIDEBAND;
static int s_frameSize = 160;
static int sBatteryLevel = -1;
static int sBatteryState = -1;
static NSString* sAppID;
static NSString* sGameID;
static NSString* sUserName;
static NSThread* _thread;
static int initedState=0; //初始化状态,0初始化中,1成功,2失败
static NSString * const kClientID = @"185347479213-doi46trvoviu8l04tr5qe7uvbs6oelse.apps.googleusercontent.com";
-(void) Init
{
    UIDevice *_device = [UIDevice currentDevice];
    _device.batteryMonitoringEnabled = true;
    NSString* _uniqueID = [[NSUserDefaults standardUserDefaults] objectForKey:@"tsw_unique_id"];
    //获取IDFA
    NSString* _idfa = [[[ASIdentifierManager sharedManager] advertisingIdentifier] UUIDString];
    if(_uniqueID == NULL || [_uniqueID length] <= 0)
    {
        //判断IDFA是否为空
        BOOL isEmpty = [[_idfa stringByReplacingOccurrencesOfString:@"-" withString:@""] stringByReplacingOccurrencesOfString:@"0" withString:@""].length;
        if (isEmpty) {
            //不为空,将IDFA作为唯一标识
            _uniqueID = _idfa;
        }
        else {
            //为空,获取UUID作为唯一标识
            _uniqueID = [[[UIDevice currentDevice] identifierForVendor] UUIDString];
        }
        //保存唯一设备标识,如已存在则不进行任何处理
        [[NSUserDefaults standardUserDefaults] setObject:_uniqueID forKey:@"tsw_unique_id"];
        [[NSUserDefaults standardUserDefaults] synchronize];
    }
    // 取得UserAgent
    UIWebView* _webView = [[UIWebView alloc] initWithFrame:CGRectZero];
    NSString* _userAgent = [_webView stringByEvaluatingJavaScriptFromString:@"navigator.userAgent"];
    // 发送设备信息
    NSMutableDictionary *_dict = [NSMutableDictionary dictionaryWithObjectsAndKeys:
                                  _uniqueID,@"unique_id",
                                  _idfa,@"android_id",
                                  [NSNumber numberWithInt:S2U_DeviceInfo],@"code",
                                  _userAgent,@"userAgent",nil];
    [self SendMessageToUnity:_dict];
}
-(void)SendMessageToUnity:(NSDictionary*)dict
{
    BOOL _result = [NSJSONSerialization isValidJSONObject:dict];
    if(_result)
    {
        NSData* _jsonData = [NSJSONSerialization dataWithJSONObject:dict options:0 error:NULL];
        UnitySendMessage(UNITY_OBJ_NAME, UNITY_FUNC_NAME,
                         [[[NSString alloc] initWithData:_jsonData encoding:NSUTF8StringEncoding] UTF8String]);
    }
}
-(void) BatteryThread {
    while (TRUE)
    {
        [NSThread sleepForTimeInterval:1];
        UIDevice *_device = [UIDevice currentDevice];
        int _state = [_device batteryState];
        if(_state != sBatteryState){
            sBatteryState = _state;
            NSDictionary *_dict = [NSDictionary dictionaryWithObjectsAndKeys:
                                   [NSNumber numberWithInt:sBatteryState], @"status",
                                   [NSNumber numberWithInt:S2U_BatteryCharging], @"code", nil];
            [self SendMessageToUnity:_dict];
        }
        int _level = (int)([_device batteryLevel] * 100);
        if(_level != sBatteryLevel){
            sBatteryLevel = _level;
            NSDictionary *_dict = [NSDictionary dictionaryWithObjectsAndKeys:
                                   [NSNumber numberWithInt:sBatteryLevel], @"level",
                                   [NSNumber numberWithInt:S2U_BatteryLevel], @"code", nil];
            [self SendMessageToUnity:_dict];
        }
    }
}
-(void) OpenURL:(NSString*) url {
    if(m_UIWebView != NULL) {
        [self btnClick:NULL];
        return;
    }
    CGRect _bounds = UnityGetMainWindow().bounds;
    float _scale = _bounds.size.width / 1334;
    float _width = 982 * _scale;
    float _height = 560 * _scale;
    float _offsetX = (_bounds.size.width - _width) * .5f;
    float _offsetY = (_bounds.size.height - _height) * .5f;
    m_UIWebView = [[UIWebView alloc] initWithFrame:CGRectMake(_offsetX, _offsetY, _width, _height)];
    m_UIWebView.delegate = self;
    m_UIWebView.scalesPageToFit = YES ;
    m_UIWebView.scrollView.scrollEnabled = YES;
    m_UIWebView.scrollView.bounces = NO;
    NSURLRequest *request =[NSURLRequest requestWithURL:[NSURL URLWithString:url]];
    [m_UIWebView loadRequest:request];
}
-(void) btnClick:(UIButton*)sender {
    [m_CloseBtn removeFromSuperview];
    [m_CloseBtn removeTarget:self action:@selector(btnClick:) forControlEvents:UIControlEventTouchUpInside];
    m_CloseBtn = NULL;
    NSURLCache *_cache = [NSURLCache sharedURLCache];
    [_cache removeAllCachedResponses];
    [_cache setDiskCapacity:0];
    [_cache setMemoryCapacity:0];
    [m_UIWebView removeFromSuperview];
    m_UIWebView = NULL;
}
-(void)webViewDidStartLoad:(UIWebView *)webView{
}
-(void)webViewDidFinishLoad:(UIWebView *)webView{
    [UnityGetMainWindow().rootViewController.view addSubview:m_UIWebView];
    CGRect _bounds = UnityGetMainWindow().bounds;
    float _scale = _bounds.size.width / 1334;
    float _width = 982 * _scale;
    float _height = 560 * _scale;
    m_CloseBtn = [UIButton buttonWithType:UIButtonTypeRoundedRect];
    [m_CloseBtn setFrame:CGRectMake(_width - 455 * _scale, _height - 86 * _scale, 180 * _scale, 72 * _scale)];
    [m_CloseBtn setTitle:@"我知道了" forState:UIControlStateNormal];
    NSString *_bundlePath = [[NSBundle mainBundle] pathForResource:@"The2thWorldRES.bundle" ofType:nil];
    NSBundle *_bundle = [NSBundle bundleWithPath:_bundlePath];
    NSString *pic1Path = [_bundle pathForResource:@"TY_AN_34.png" ofType:nil];
    [m_CloseBtn setBackgroundImage:[UIImage imageWithContentsOfFile:pic1Path] forState:UIControlStateNormal];
    [m_CloseBtn setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
    [m_CloseBtn addTarget:self action:@selector(btnClick:) forControlEvents:UIControlEventTouchUpInside];
    [m_UIWebView addSubview:m_CloseBtn];
}
-(void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error{
}
-(void)QuickSDKInit:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    /*
    初始化完成之后,会有初始化完成通知( yyj_PlatformInitDidFinishedNotification )开
    发者在该回调⽅法中做登录操作
    该通知应注册在初始化之前
    */
    //添加⼀个初始化通知观察者,初始化结束后,登录等操作务必在收到该通知后调⽤
    [[NSNotificationCenter defaultCenter]addObserver:self
    selector:@selector(YYJPlatformInitFinished)
    name:yyj_PlatformInitDidFinishedNotification object:nil];
    //初始化失败
    [[NSNotificationCenter defaultCenter]addObserver:self
    selector:@selector(YYJPlatformInitFinished)
    name:yyj_PlatformInitFinishedFailNotification object:nil];
    //添加⼀个登录成功通知观察者,调⽤悬浮框等操作务必在收到该通知后调⽤
    [[NSNotificationCenter defaultCenter]addObserver:self
    selector:@selector(YYJPlatformLogin) name:yyj_PlatformLoginNotification
    object:nil];
    //添加⼀个注销成功通知观察者
    [[NSNotificationCenter defaultCenter]addObserver:self
    selector:@selector(YYJPlatformLogout) name:yyj_PlatformLogoutNotification
    object:nil];
    // 添加⼀个⽀付成功通知观察者
    [[NSNotificationCenter defaultCenter]addObserver:self
    selector:@selector(YYJPlatformBMaiSuccessful)
    name:yyj_PlatformBMaiSuccessfulNotification object:nil];
    // 添加⼀个⽀付失败通知观察者
    [[NSNotificationCenter defaultCenter]addObserver:self
    selector:@selector(YYJPlatformBMaiFail) name:yyj_PlatformBMaiFailNotification
    object:nil];
    //添加⼀个实名认证⻚⾯关闭通知观察者
//    [[NSNotificationCenter defaultCenter]addObserver:self
//    selector:@selector(YYJPlatformRealNameAuthenticationClose)
//    name:yyj_PlatformRealNameAuthenticationCloseNotification object:nil];
#ifdef DEBUG
    // 输出⽇志
    [[YYJPlatform yyj_defaultPlatform]yyj_isShowLog:YES];
#endif
    [self initYYJSdk];
}
-(void) initYYJSdk{
    NSDictionary *infoDictionary = [[NSBundle mainBundle] infoDictionary];
    NSString *app_Version = [infoDictionary objectForKey:@"CFBundleShortVersionString"];
    // SDK初始化,务必放在其他接⼝调⽤之前
    [[YYJPlatform yyj_defaultPlatform]yyj_initializeWithAppId: YYJ_APPID gameVersion:app_Version appScheme: YYJ_APPSCHEME];
    initedState=0;
}
- (void)YYJPlatformInitFinished{
    NSLog(@"渠道初始化成功");
    initedState=1;
    NSMutableDictionary *_dict = [NSMutableDictionary dictionaryWithObjectsAndKeys:
                                  [NSNumber numberWithInt:S2U_SdkInitComplete], @"code",
                                  @"sanxia", @"channelPlatform", nil];
    [self SendMessageToUnity:_dict];
}
- (void)YYJPlatformInitFinishedFail{
    NSLog(@"渠道初始化失败");
    initedState=2;
}
- (void)YYJPlatformLogin {
    NSLog(@"渠道登录成功");
    NSString *account = [[YYJPlatform yyj_defaultPlatform] yyj_userUID];
    NSString *game_id = [[YYJPlatform yyj_defaultPlatform] yyj_gameId];
    NSString *session_id = [[YYJPlatform yyj_defaultPlatform] yyj_token];
    NSDictionary *_dict = [NSDictionary dictionaryWithObjectsAndKeys:
                           [NSDictionary dictionaryWithObjectsAndKeys:account, @"account",
                            game_id, @"game_id",
                            session_id, @"session_id", nil],@"info",
                           [NSNumber numberWithInt:S2U_FreePlatformLoginOk], @"code", nil];
    [self SendMessageToUnity:_dict];
    [[YYJPlatform yyj_defaultPlatform]yyj_showFloatWindow]; //显示悬浮窗
}
- (void)YYJPlatformLogout {
    NSLog(@"渠道注销成功");
    NSDictionary *_dict = [NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithInt:S2U_FreePlatformLogoutOk], @"code", nil];
    [self SendMessageToUnity:_dict];
}
- (void)YYJPlatformBMaiSuccessful{
    NSLog(@"渠道支付成功");
    NSDictionary *_dict = [NSDictionary dictionaryWithObjectsAndKeys:
                           [NSNumber numberWithInt:S2U_FreePlatformPayOk], @"code", nil];
    [self SendMessageToUnity:_dict];
}
- (void) YYJPlatformBMaiFail{
    NSLog(@"渠道支付失败");
    NSDictionary *_dict = [NSDictionary dictionaryWithObjectsAndKeys:
                           [NSNumber numberWithInt:S2U_FreePlatformPayFail], @"code", nil];
    [self SendMessageToUnity:_dict];
}
-(id) APNativeJSONObject:(NSData *)data{
    if (!data) {
        return nil;
    }
    NSError *error = nil;
    id retId = [NSJSONSerialization JSONObjectWithData:data options:0 error:&error];
    if (error) {
        NSLog(@"%s trans data to obj with error: %@", __func__, error);
        return nil;
    }
    return retId;
}
-(void) PlatformLogin{
    switch (initedState) {
        case 0:
        {
        }
            break;
        case 1:
            [[YYJPlatform yyj_defaultPlatform]yyj_userLogin];
            break;
        case 2:
            [self initYYJSdk];
            break;
        default:
            break;
    }
}
-(void)HandleUnityMessage:(NSString *)json {
    NSLog(@"收到Unity发来的消息 => %@", json);
    NSData *_jsonData = [json dataUsingEncoding:NSUTF8StringEncoding];
    NSDictionary *_dict = [self APNativeJSONObject:_jsonData];
    switch([[_dict objectForKey:@"code"] intValue]){
        case U2S_Init:
            sAppID = _dict[@"appID"];
            sGameID = _dict[@"gameID"];
            [self Init];
            break;
        case U2S_CopyContent:
            [UIPasteboard generalPasteboard].string = _dict[@"content"];
            break;
        case U2S_FreePlatformInit:
            break;
        case U2S_MakeKeyAndVisible:
        {
            UIWindow * _window = [[UIApplication sharedApplication].delegate window];
            if (_window != nil && _window.rootViewController != nil) {
                [_window makeKeyAndVisible];
            }
        }
            break;
        case U2S_OpenWebView:
            [self OpenURL:_dict[@"url"]];
            break;
        case U2S_FreePlatformLogin:
            [self PlatformLogin];
            break;
        case U2S_FreePlatformLogout:
        {
            [[YYJPlatform yyj_defaultPlatform]yyj_userLogout];
        }
            break;
        case U2S_CreateRole:
        {
            // 更新角色信息
            NSString *serverName = [NSString stringWithFormat:@"%@",[_dict objectForKey:@"serverName"]];
            NSString *gameRoleName = [NSString stringWithFormat:@"%@",[_dict objectForKey:@"roleName"]];
            NSString *serverId = [NSString stringWithFormat:@"%@",[_dict objectForKey:@"sid"]];
            NSString *gameRoleID = [NSString stringWithFormat:@"%@",[_dict objectForKey:@"roleID"]];
            NSString *gameUserLevel = [NSString stringWithFormat:@"%@",[_dict objectForKey:@"level"]];
            [[YYJPlatform yyj_defaultPlatform]yyj_submitRoleInfoWithServerid:serverId andServerName:serverName andCharid:gameRoleID andRoleName:gameRoleName andRolelevel:gameUserLevel];
            break;
        }
        case U2S_RoleLogin:
        {
            // 更新角色信息
            NSString *serverName = [NSString stringWithFormat:@"%@",[_dict objectForKey:@"serverName"]];
            NSString *gameRoleName = [NSString stringWithFormat:@"%@",[_dict objectForKey:@"roleName"]];
            NSString *serverId = [NSString stringWithFormat:@"%@",[_dict objectForKey:@"sid"]];
            NSString *gameRoleID = [NSString stringWithFormat:@"%@",[_dict objectForKey:@"roleID"]];
            NSString *gameUserLevel = [NSString stringWithFormat:@"%@",[_dict objectForKey:@"level"]];
            [[YYJPlatform yyj_defaultPlatform]yyj_submitRoleInfoWithServerid:serverId andServerName:serverName andCharid:gameRoleID andRoleName:gameRoleName andRolelevel:gameUserLevel];
            break;
        }
        case U2S_RoleLevelUp:
        {
            // 更新角色信息
            NSString *serverName = [NSString stringWithFormat:@"%@",[_dict objectForKey:@"serverName"]];
            NSString *gameRoleName = [NSString stringWithFormat:@"%@",[_dict objectForKey:@"roleName"]];
            NSString *serverId = [NSString stringWithFormat:@"%@",[_dict objectForKey:@"sid"]];
            NSString *gameRoleID = [NSString stringWithFormat:@"%@",[_dict objectForKey:@"roleID"]];
            NSString *gameUserLevel = [NSString stringWithFormat:@"%@",[_dict objectForKey:@"level"]];
            [[YYJPlatform yyj_defaultPlatform]yyj_submitRoleInfoWithServerid:serverId andServerName:serverName andCharid:gameRoleID andRoleName:gameRoleName andRolelevel:gameUserLevel];
            break;
        }
        case U2S_FreePlatformPay:
        {
            NSString *serverId = [NSString stringWithFormat:@"%@",[_dict objectForKey:@"sid"]];
            NSString *gameRoleID = [NSString stringWithFormat:@"%@",[_dict objectForKey:@"roleID"]];
            NSString *goodsID = [NSString stringWithFormat:@"%@", [_dict objectForKey:@"cpInfo"]];
            NSString *productName = [NSString stringWithFormat:@"%@", [_dict objectForKey:@"title"]];
            NSString *mount = [NSString stringWithFormat:@"%@", [_dict objectForKey:@"mount"]];
            NSString *orderId = [NSString stringWithFormat:@"%@", [_dict objectForKey:@"orderId"]];
            NSString *_appid = sAppID;
            NSString *extrasParams = [NSString stringWithFormat:@"{\"appid\":\"%@\",\"cpinfo\":\"%@\",\"cporderid\":\"%@\"}",
                                  _appid,
                                  [_dict objectForKey:@"cpInfo"],
                                  [_dict objectForKey:@"orderId"]
                                  ];
            [[YYJPlatform yyj_defaultPlatform] yyj_BMaiWithMoney:mount productID:goodsID productName:productName charId:gameRoleID serverId:serverId expandInfo:extrasParams cporderId:orderId];
            break;
        }
        case U2S_BatteryListenStart:
            if(_thread == NULL)
            {
                _thread = [[NSThread alloc] initWithTarget:self selector:@selector(BatteryThread) object:nil];
                [_thread setName:@"BatteryCheck"];
            }
            if(![_thread isExecuting])
            {
                [_thread start];
            }
            break;
        case U2S_BatteryListenStop:
            break;
    }
}
@end
extern "C" void native_opus_init(int frequency, int bitRate, int bandMode)
{
    s_frequency = frequency;
    s_bandMode = bandMode;
    s_bitRate = bitRate;
    s_frameSize = frequency / 100;
}
extern "C" int native_opus_encode(opus_int16 *pcm, int len, unsigned char *opus)
{
    int errorCode = 0;
    opus_int32 skip = 0;
    OpusEncoder *enc = opus_encoder_create(s_frequency, CHANNEL_NUM, OPUS_APPLICATION_VOIP, &errorCode);
    if (OPUS_OK != errorCode) {
        enc = NULL;
        return -1;
    }
    opus_encoder_ctl(enc, OPUS_SET_BANDWIDTH(s_bandMode));
    opus_encoder_ctl(enc, OPUS_SET_BITRATE(s_bitRate));
    opus_encoder_ctl(enc, OPUS_SET_VBR(1));
    opus_encoder_ctl(enc, OPUS_SET_COMPLEXITY(10));
    opus_encoder_ctl(enc, OPUS_SET_INBAND_FEC(0));
    opus_encoder_ctl(enc, OPUS_SET_FORCE_CHANNELS(OPUS_SIGNAL_VOICE));
    opus_encoder_ctl(enc, OPUS_SET_DTX(0));
    opus_encoder_ctl(enc, OPUS_SET_PACKET_LOSS_PERC(0));
    opus_encoder_ctl(enc, OPUS_GET_LOOKAHEAD(&skip));
    opus_encoder_ctl(enc, OPUS_SET_LSB_DEPTH(16));
    unsigned char *rbytes = opus;
    opus_int16 *frame = pcm;
    int totalSize = 0;
    while (len >= s_frameSize)
    {
        opus_int32 length = opus_encode(enc, frame, s_frameSize, rbytes + sizeof(char), s_bitRate);
        rbytes[0] = length;
        frame += s_frameSize;
        rbytes += length + sizeof(char);
        len -= s_frameSize;
        totalSize += length;
    }
    opus_encoder_destroy(enc);
    return totalSize;
}
extern "C" int native_opus_decode(unsigned char *opus, int len, short *pcm)
{
    int err = 0;
    //opus_int32 skip = 0;
    OpusDecoder *dec = opus_decoder_create(s_frequency, CHANNEL_NUM, &err);
    if (err != OPUS_OK) {
        dec = NULL;
        return -1;
    }
    while (len > 0)
    {
        int frame_opus_length = opus[0];
        int length = opus_decode(dec, opus + sizeof(char), frame_opus_length, pcm, s_frameSize, 0);
        opus += sizeof(char) + frame_opus_length;
        pcm += s_frameSize;
        len = len - frame_opus_length - sizeof(char);
    }
    opus_decoder_destroy(dec);
    return 0;
}
Channel/IOS/gtios/Plugins/sanxia/GoogleService-Info.plist
New file
@@ -0,0 +1,38 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>CLIENT_ID</key>
    <string>185347479213-qlni3h746onc1ibet2otbih711iiood0.apps.googleusercontent.com</string>
    <key>REVERSED_CLIENT_ID</key>
    <string>com.googleusercontent.apps.185347479213-qlni3h746onc1ibet2otbih711iiood0</string>
    <key>ANDROID_CLIENT_ID</key>
    <string>185347479213-44kgnk8nlsaur06ng0njv2ilv5vn17au.apps.googleusercontent.com</string>
    <key>API_KEY</key>
    <string>AIzaSyBHaHdiaav0BlwqK4t2Wwsqs7OgPhBTlUk</string>
    <key>GCM_SENDER_ID</key>
    <string>185347479213</string>
    <key>PLIST_VERSION</key>
    <string>1</string>
    <key>BUNDLE_ID</key>
    <string>com.sanxiagame.zmjas</string>
    <key>PROJECT_ID</key>
    <string>sxgame-292808</string>
    <key>STORAGE_BUCKET</key>
    <string>sxgame-292808.appspot.com</string>
    <key>IS_ADS_ENABLED</key>
    <false></false>
    <key>IS_ANALYTICS_ENABLED</key>
    <false></false>
    <key>IS_APPINVITE_ENABLED</key>
    <true></true>
    <key>IS_GCM_ENABLED</key>
    <true></true>
    <key>IS_SIGNIN_ENABLED</key>
    <true></true>
    <key>GOOGLE_APP_ID</key>
    <string>1:185347479213:ios:1af294d89362bb78829824</string>
    <key>DATABASE_URL</key>
    <string>https://sxgame-292808.firebaseio.com</string>
</dict>
</plist>
Channel/IOS/gtios/Plugins/sanxia/GoogleSignIn.bundle/Info.plist
Binary files differ
Channel/IOS/gtios/Plugins/sanxia/GoogleSignIn.bundle/Roboto-Bold.ttf
Binary files differ
Channel/IOS/gtios/Plugins/sanxia/GoogleSignIn.bundle/ar.lproj/GoogleSignIn.strings
Binary files differ
Channel/IOS/gtios/Plugins/sanxia/GoogleSignIn.bundle/ca.lproj/GoogleSignIn.strings
Binary files differ
Channel/IOS/gtios/Plugins/sanxia/GoogleSignIn.bundle/cs.lproj/GoogleSignIn.strings
Binary files differ
Channel/IOS/gtios/Plugins/sanxia/GoogleSignIn.bundle/da.lproj/GoogleSignIn.strings
Binary files differ
Channel/IOS/gtios/Plugins/sanxia/GoogleSignIn.bundle/de.lproj/GoogleSignIn.strings
Binary files differ
Channel/IOS/gtios/Plugins/sanxia/GoogleSignIn.bundle/el.lproj/GoogleSignIn.strings
Binary files differ
Channel/IOS/gtios/Plugins/sanxia/GoogleSignIn.bundle/en.lproj/GoogleSignIn.strings
Binary files differ
Channel/IOS/gtios/Plugins/sanxia/GoogleSignIn.bundle/en_GB.lproj/GoogleSignIn.strings
Binary files differ
Channel/IOS/gtios/Plugins/sanxia/GoogleSignIn.bundle/es.lproj/GoogleSignIn.strings
Binary files differ
Channel/IOS/gtios/Plugins/sanxia/GoogleSignIn.bundle/es_MX.lproj/GoogleSignIn.strings
Binary files differ
Channel/IOS/gtios/Plugins/sanxia/GoogleSignIn.bundle/fi.lproj/GoogleSignIn.strings
Binary files differ
Channel/IOS/gtios/Plugins/sanxia/GoogleSignIn.bundle/fr.lproj/GoogleSignIn.strings
Binary files differ
Channel/IOS/gtios/Plugins/sanxia/GoogleSignIn.bundle/google.png
Channel/IOS/gtios/Plugins/sanxia/GoogleSignIn.bundle/google@2x.png
Channel/IOS/gtios/Plugins/sanxia/GoogleSignIn.bundle/google@3x.png
Channel/IOS/gtios/Plugins/sanxia/GoogleSignIn.bundle/gplus.png
Channel/IOS/gtios/Plugins/sanxia/GoogleSignIn.bundle/gplus@2x.png
Channel/IOS/gtios/Plugins/sanxia/GoogleSignIn.bundle/gplus@3x.png
Channel/IOS/gtios/Plugins/sanxia/GoogleSignIn.bundle/he.lproj/GoogleSignIn.strings
Binary files differ
Channel/IOS/gtios/Plugins/sanxia/GoogleSignIn.bundle/hr.lproj/GoogleSignIn.strings
Binary files differ
Channel/IOS/gtios/Plugins/sanxia/GoogleSignIn.bundle/hu.lproj/GoogleSignIn.strings
Binary files differ
Channel/IOS/gtios/Plugins/sanxia/GoogleSignIn.bundle/id.lproj/GoogleSignIn.strings
Binary files differ
Channel/IOS/gtios/Plugins/sanxia/GoogleSignIn.bundle/it.lproj/GoogleSignIn.strings
Binary files differ
Channel/IOS/gtios/Plugins/sanxia/GoogleSignIn.bundle/ja.lproj/GoogleSignIn.strings
Binary files differ
Channel/IOS/gtios/Plugins/sanxia/GoogleSignIn.bundle/ko.lproj/GoogleSignIn.strings
Binary files differ
Channel/IOS/gtios/Plugins/sanxia/GoogleSignIn.bundle/ms.lproj/GoogleSignIn.strings
Binary files differ
Channel/IOS/gtios/Plugins/sanxia/GoogleSignIn.bundle/nb.lproj/GoogleSignIn.strings
Binary files differ
Channel/IOS/gtios/Plugins/sanxia/GoogleSignIn.bundle/nl.lproj/GoogleSignIn.strings
Binary files differ
Channel/IOS/gtios/Plugins/sanxia/GoogleSignIn.bundle/pl.lproj/GoogleSignIn.strings
Binary files differ
Channel/IOS/gtios/Plugins/sanxia/GoogleSignIn.bundle/pt.lproj/GoogleSignIn.strings
Binary files differ
Channel/IOS/gtios/Plugins/sanxia/GoogleSignIn.bundle/pt_BR.lproj/GoogleSignIn.strings
Binary files differ
Channel/IOS/gtios/Plugins/sanxia/GoogleSignIn.bundle/pt_PT.lproj/GoogleSignIn.strings
Binary files differ
Channel/IOS/gtios/Plugins/sanxia/GoogleSignIn.bundle/ro.lproj/GoogleSignIn.strings
Binary files differ
Channel/IOS/gtios/Plugins/sanxia/GoogleSignIn.bundle/ru.lproj/GoogleSignIn.strings
Binary files differ
Channel/IOS/gtios/Plugins/sanxia/GoogleSignIn.bundle/sk.lproj/GoogleSignIn.strings
Binary files differ
Channel/IOS/gtios/Plugins/sanxia/GoogleSignIn.bundle/sv.lproj/GoogleSignIn.strings
Binary files differ
Channel/IOS/gtios/Plugins/sanxia/GoogleSignIn.bundle/th.lproj/GoogleSignIn.strings
Binary files differ
Channel/IOS/gtios/Plugins/sanxia/GoogleSignIn.bundle/tr.lproj/GoogleSignIn.strings
Binary files differ
Channel/IOS/gtios/Plugins/sanxia/GoogleSignIn.bundle/uk.lproj/GoogleSignIn.strings
Binary files differ
Channel/IOS/gtios/Plugins/sanxia/GoogleSignIn.bundle/vi.lproj/GoogleSignIn.strings
Binary files differ
Channel/IOS/gtios/Plugins/sanxia/GoogleSignIn.bundle/zh_CN.lproj/GoogleSignIn.strings
Binary files differ
Channel/IOS/gtios/Plugins/sanxia/GoogleSignIn.bundle/zh_TW.lproj/GoogleSignIn.strings
Binary files differ
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/ViewControllerNib/YYJAboutAccountViewController.nib
Binary files differ
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/ViewControllerNib/YYJAccountViewController.nib
Binary files differ
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/ViewControllerNib/YYJChangPwdViewController.nib
Binary files differ
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/ViewControllerNib/YYJComRegisterViewController.nib
Binary files differ
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/ViewControllerNib/YYJEditAccountViewController.nib
Binary files differ
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/ViewControllerNib/YYJFindPswViewController.nib
Binary files differ
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/ViewControllerNib/YYJLoginViewController.nib
Binary files differ
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/ViewControllerNib/YYJMinAccountTableViewCell.nib
Binary files differ
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/ViewControllerNib/YYJMinAccountViewController.nib/objects-11.0+.nib
Binary files differ
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/ViewControllerNib/YYJMinAccountViewController.nib/runtime.nib
Binary files differ
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/ViewControllerNib/YYJPhoneRegisterViewController.nib
Binary files differ
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/ViewControllerNib/YYJPhoneSettingPswViewController.nib
Binary files differ
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/ViewControllerNib/YYJQuickRegisterViewController.nib
Binary files differ
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/ViewControllerNib/YYJRealNameViewController.nib
Binary files differ
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/ViewControllerNib/YYJResetPswViewController.nib
Binary files differ
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/ViewControllerNib/YYJSafetySettingViewController.nib
Binary files differ
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/ViewControllerNib/YYJSafetyWarmViewController.nib
Binary files differ
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_aq_.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_aq_@2x.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_aq_@3x.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_back.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_back@2x.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_back@3x.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_back_press.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_back_press@2x.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_back_press@3x.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_close_press.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_close_press@2x.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_close_press@3x.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_close_rightbtn.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_close_rightbtn@2x.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_close_rightbtn@3x.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_icon_account.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_icon_account@2x.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_icon_account@3x.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_icon_account_press.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_icon_account_press@2x.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_icon_account_press@3x.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_icon_code.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_icon_code@2x.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_icon_code@3x.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_icon_code_press.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_icon_code_press@2x.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_icon_code_press@3x.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_icon_email.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_icon_email@2x.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_icon_email@3x.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_icon_id.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_icon_id@2x.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_icon_id@3x.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_icon_id_press.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_icon_id_press@2x.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_icon_id_press@3x.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_icon_mobile.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_icon_mobile@2x.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_icon_mobile@3x.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_icon_mobile_press.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_icon_mobile_press@2x.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_icon_mobile_press@3x.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_icon_realname.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_icon_realname@2x.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_icon_realname@3x.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_icon_realname_press.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_icon_realname_press@2x.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_icon_realname_press@3x.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_icon_secret.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_icon_secret@2x.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_icon_secret@3x.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_icon_secret_press.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_icon_secret_press@2x.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_icon_secret_press@3x.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_icon_validati.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_icon_validati@2x.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_icon_validati@3x.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_icon_validation_press.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_icon_validation_press@2x.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_icon_validation_press@3x.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_logo.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_check.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_check@2x.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_check@3x.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_dropdown.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_dropdown@2x.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_dropdown@3x.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_dropdown_click.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_dropdown_press.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_dropdown_press@2x.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_dropdown_press@3x.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_hide_password.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_hide_password@2x.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_hide_password@3x.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_ic_add.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_ic_explain.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_ic_facebook@2x.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_ic_facebook@3x.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_ic_google@2x.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_ic_google@3x.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_phone.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_phone@2x.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_phone@3x.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_phone_press.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_phone_press@2x.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_phone_press@3x.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_q@2x.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_q@3x.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_quick.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_quick@2x.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_quick@3x.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_quick_press.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_quick_press@2x.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_quick_press@3x.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_show_password.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_show_password@2x.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_show_password@3x.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_si@2x.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_si@3x.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_toolbaricon_ service.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_toolbaricon_BMailog.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_toolbaricon_bbs.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_toolbaricon_click.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_toolbaricon_end.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_toolbaricon_left.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_toolbaricon_manage.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_toolbaricon_moreapp.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_toolbaricon_pack.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_toolbaricon_paylog.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_toolbaricon_right.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_toolbaricon_rightend.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_uncheck.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_uncheck@2x.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_uncheck@3x.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_yk@2x.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/cy_sdk_yk@3x.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/yyj_sdk_float_view_account.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/yyj_sdk_float_view_account_switch.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/yyj_sdk_float_view_account_switch@2x.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/yyj_sdk_float_view_account_switch@3x.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/yyj_sdk_float_view_customer_service.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/yyj_sdk_float_view_fb.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/yyj_sdk_float_view_game_zone.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/yyj_sdk_float_view_gift.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/yyj_sdk_float_view_logout.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/yyj_sdk_float_view_message.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/yyj_sdk_float_view_more_game.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/yyj_sdk_float_view_news.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/yyj_sdk_float_view_passwd_change.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/yyj_sdk_float_view_passwd_change@2x.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/yyj_sdk_float_view_passwd_change@3x.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/yyj_sdk_float_view_safe_icon.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/yyj_sdk_float_view_safe_icon@2x.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.bundle/images/yyj_sdk_float_view_safe_icon@3x.png
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.framework/Headers/YYJPlatform.h
New file
@@ -0,0 +1,202 @@
//
//  YYJPlatform.h
//
//
//  Created by Ferryman on 16/10/9.
//  Copyright © 2016年 YYJia. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
#import "YYJPlatformDefines.h"
@interface YYJPlatform : NSObject
/**
 *   @brief 获取YYJPlatform实例
 */
+ (YYJPlatform *)yyj_defaultPlatform;
@end
#pragma mark    YYJPlatform 初始化配置
@interface YYJPlatform (yyj_Configuration)
/**
 *    @brief  平台初始化方法
 *
 *  @param  appId 游戏在接入联运分配的appId
 *  @param  gameVersion 游戏版本号
 *
 *
 */
- (void)yyj_initializeWithAppId:(NSString *)appId gameVersion:(NSString *)gameVersion appScheme:(NSString *)appScheme;
/**
 *  @brief  Facebook初始化方法
 */
- (void)yyj_fb_Init:(UIApplication *)application launchOptions:(NSDictionary *)launchOptions;
/**
 * @brief GoogleSign 初始化
 */
- (void)yyj_google_Init:(NSString *)clientId;
/**
 *  @brief  Facebook OpenUrl方法
 */
- (void)yyj_fb_openURL:(UIApplication *)application openURL:(NSURL *)url options:(NSDictionary *)options;
/**
 是否开启Log输出
 @param isShowLog YES 开启; NO 关闭.  默认关闭
 */
- (void)yyj_isShowLog:(BOOL)isShowLog;
/**
 是否禁用注册功能, 禁用后点击注册, 弹出提醒框
 @param isForbidRegister YES 开启; NO 关闭.  默认关闭
 */
- (void)yyj_isForbidRegister:(BOOL)isForbidRegister;
/**
 显示悬浮框
 */
- (void)yyj_showFloatWindow;
/**
 隐藏悬浮框
 */
- (void)yyj_dismissFloatWindow;
/**
 显示实名认证
*/
- (void)yyj_showRealNameAuthenticationController;
@end
#pragma mark-- 用户部分,登录、注销
@interface YYJPlatform (yyj_UserCenter)
/**
 *  @brief YYJPlatform 登录界面入口
 *
 */
- (void)yyj_userLogin;
/**
 *  @brief YYJPlatform 注销, 即退出登录
 *
 */
- (void)yyj_userLogout;
/**
 *  @brief 获取本次登录的token,token即sessionid
 */
- (NSString*)yyj_token;
/**
 *  @brief 获取登录的UID, 用于标记一个用户
 */
- (NSString*)yyj_userUID;
/**
 *  @brief 当前登录用户名
 */
- (NSString *)yyj_loginUserName;
/**
 *  @brief 当前gameid
 */
- (NSString *)yyj_gameId;
/**
*  @brief 获取实名状态   0:未认证, 1:已认证
*/
- (BOOL)yyj_realNameStatus;
/**
*  @brief 当前登录用户的年龄
*/
- (NSString *)yyj_userAge;
/**
*  @brief 当前登录用户的身份证
*/
- (NSString *)yyj_userRealName;
/**
*  @brief 当前登录用户的身份证号码
*/
- (NSString *)yyj_userRealNameID;
/**
 *  @brief 当前SDK版本
 */
- (NSString *)yyj_SDKVersion;
/**
 *  @brief 登录的类型,登录有值
 */
- (NSString *)yyj_loginType;
/**
 *  @brief 注册的类型,新注册值
 */
- (NSString *)yyj_regType;
/**
 提交角色信息接口
 提交的时机为: 每次登录 或者每次退出 或者是 角色等级升级的时候 三个时段都调用那是最好的 .  至少满足角色等级升级的时候调用
 @param serverid 服务器编号
 @param serverName 服务器名称
 @param charid 角色ID
 @param rolename 角色名称
 @param rolelevel 角色等级 (必填)
 */
- (void)yyj_submitRoleInfoWithServerid:(NSString *)serverid andServerName:(NSString *)serverName andCharid:(NSString *)charid andRoleName:(NSString *)rolename andRolelevel:(NSString *)rolelevel;
@end
#pragma mark 充值、 支付
@interface YYJPlatform (yyj_BMai)
/**
 *  @brief 充值, 该接口首先获取支付渠道,然后支付并进入web支付页面
 *
 *  @param rmb          充值金额 单位元
 *  @param productID    iTunes 苹果后台配置的内购物品的产品ID
 *  @param name         商品名
 *  @param charid       角色ID
 *  @param serverid     服务器ID
 *  @param info         扩展信息
 *  @param cporderid    游戏商订单ID
 *
 */
- (void)yyj_BMaiWithMoney:(NSString *)rmb productID:(NSString *)productID productName:(NSString *)name charId:(NSString *)charid serverId:(NSString *)serverid expandInfo:(NSString *)info cporderId:(NSString *)cporderid;
/**
 *  @brief 充值, 该接口通过角色等级, 金额等条件选择支付方式
 *  @param level        角色等级
 *  @param rmb          充值金额 单位元
 *  @param productID    iTunes 苹果后台配置的内购物品的产品ID
 *  @param name         商品名
 *  @param charid       角色ID
 *  @param serverid     服务器ID
 *  @param info         扩展信息
 *  @param cporderid    游戏商订单ID
 */
- (void)yyj_BMaiWithRoleLevel:(NSString *)level money:(NSString *)rmb productID:(NSString *)productID productName:(NSString *)name charId:(NSString *)charid serverId:(NSString *)serverid expandInfo:(NSString *)info cporderId:(NSString *)cporderid;
@end
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.framework/Headers/YYJPlatformDefines.h
New file
@@ -0,0 +1,24 @@
//
//  YYJPlatformDefines.h
//
//
//  Created by Ferryman on 16/9/19.
//  Copyright © 2016年 YYJia. All rights reserved.
//
#ifndef YYJPlatformDefines_h
#define YYJPlatformDefines_h
#import <UIKit/UIKit.h>
#pragma mark - Notification -----------------------------------------------
UIKIT_EXTERN NSString* const yyj_PlatformInitDidFinishedNotification;   //初始化成功
UIKIT_EXTERN NSString* const yyj_PlatformInitFinishedFailNotification;  // 初始化失败
UIKIT_EXTERN NSString* const yyj_PlatformLogoutNotification;            //注销
UIKIT_EXTERN NSString* const yyj_PlatformLoginNotification;             //登录
UIKIT_EXTERN NSString* const yyj_PlatformBMaiSuccessfulNotification;     // 支付成功
UIKIT_EXTERN NSString* const yyj_PlatformBMaiFailNotification;           // 支付失败
UIKIT_EXTERN NSString* const yyj_PlatformRealNameAuthenticationCloseNotification;           // 实名认证页面关闭通知
#endif /* YYJPlatformDefines_h */
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.framework/Info.plist
Binary files differ
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.framework/Modules/module.modulemap
New file
@@ -0,0 +1,6 @@
framework module YYJPlatform {
  umbrella header "YYJPlatform.h"
  export *
  module * { export * }
}
Channel/IOS/gtios/Plugins/sanxia/YYJPlatform.framework/YYJPlatform
Binary files differ