豪游海外苹果SDK接入文档
<p>[TOC]</p>
<h1>豪游海外苹果SDK接入文档</h1>
<h2>1、开发环境搭建</h2>
<h3>1.1、将 SDK 文件复制到游戏工程目录中并引用</h3>
<pre><code>HaoYouSDK.framework
ThirdSDKManager.h
ThirdSDKManager.m
AppLovinSDK.framework</code></pre>
<h3>1.2、复制 hysdk_config 文件到游戏工程的根目录</h3>
<ul>
<li>将 <code>hysdk_config</code> 配置文件中的参数进行修改</li>
</ul>
<pre><code class="language-xml">appsflyer_key //appsflyer_key统计初始化key
apple_id //苹果 Apple App ID(appsflyer初始化需要)
max_ad_key //max广告初始化key
game //豪游SDK 游戏标识
secretKey //豪游SDK secretKey
serverUrl //豪游SDK服务器域名
sub_chl //分包标识
channel //广告渠道标识
source_id //预留字段,默认传0</code></pre>
<h3>1.3、将 GoogleService-Info.plist 文件复制到工程 根目录</h3>
<h3>1.4、使用SPM引入第三方库</h3>
<p><img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=db1185ed865d3629ab93cf5cf6c1bf7d&amp;file=file.png" alt="" /></p>
<pre><code>https://github.com/AppsFlyerSDK/AppsFlyerFramework-Static
https://github.com/facebook/facebook-ios-sdk
https://github.com/AppLovin/AppLovin-MAX-Swift-Package.git
https://github.com/firebase/firebase-ios-sdk</code></pre>
<p>其中firebase需要的库为</p>
<p><img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=9fef6e4534cd8e065a4e7b92cb9ba961&amp;file=file.png" alt="" /></p>
<h3>1.5、引入其他系统库</h3>
<pre><code>libswiftCore.tbd
AppTrackingTransparency.framework
AdServices.framework
AdSupport.framework
StoreKit.framework</code></pre>
<h3>1.6、build setting 工程配置</h3>
<pre><code>-Objc -ObjC -lc++</code></pre>
<p><img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=a1d6f6fa454b50977fe25d9e2cef030a&amp;file=file.png" alt="" /></p>
<h3>1.7、添加keychain sharing功能</h3>
<p><img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=fec892bd579136699f74dc183e31170d&amp;file=file.png" alt="" /></p>
<h3>1.8、工程的大致配置如下(可能随第三方SDK更新有所变化)</h3>
<p><img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=470a9d9167def26f8c240a19ea5df2ef&amp;file=file.png" alt="" /></p>
<h3>1.9、info.plist配置</h3>
<h4>facebook登录相关</h4>
<pre><code class="language-xml">&lt;key&gt;CFBundleURLTypes&lt;/key&gt;
&lt;array&gt;
&lt;dict&gt;
&lt;key&gt;CFBundleURLSchemes&lt;/key&gt;
&lt;array&gt;
&lt;string&gt;修改成fb+facebook的appid,如fb123456789&lt;/string&gt;
&lt;/array&gt;
&lt;/dict&gt;
&lt;/array&gt;
&lt;key&gt;FacebookAppID&lt;/key&gt;
&lt;string&gt;修改成facebook的appid如123456789&lt;/string&gt;
&lt;key&gt;FacebookClientToken&lt;/key&gt;
&lt;string&gt;修改成facebook的token&lt;/string&gt;
&lt;key&gt;FacebookDisplayName&lt;/key&gt;
&lt;string&gt;修改facebook显示的应用名&lt;/string&gt;
&lt;key&gt;UIFileSharingEnabled&lt;/key&gt;
&lt;false/&gt;
&lt;key&gt;NSUserTrackingUsageDescription&lt;/key&gt;
&lt;string&gt;申请IDFA的权限语句,如该标识符将用于向您投放个性化广告&lt;/string&gt;
&lt;key&gt;LSApplicationQueriesSchemes&lt;/key&gt;
&lt;array&gt;
&lt;string&gt;fbapi&lt;/string&gt;
&lt;string&gt;fb-messenger-share-api&lt;/string&gt;
&lt;/array&gt;</code></pre>
<h4>广告相关</h4>
<pre><code class="language-xml">&lt;key&gt;SKAdNetworkItems&lt;/key&gt;
&lt;array&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;22mmun2rn5.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;238da6jt44.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;24t9a8vw3c.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;24zw6aqk47.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;252b5q8x7y.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;275upjj5gd.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;294l99pt4k.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;2fnua5tdw4.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;2u9pt9hc89.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;32z4fx6l9h.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;3l6bd9hu43.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;3qcr597p9d.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;3qy4746246.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;3rd42ekr43.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;3sh42y64q3.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;424m5254lk.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;4468km3ulz.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;44jx6755aq.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;44n7hlldy6.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;47vhws6wlr.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;488r3q3dtq.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;4dzt52r2t5.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;4fzdc2evr5.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;4mn522wn87.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;4pfyvq9l8r.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;4w7y6s5ca2.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;523jb4fst2.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;52fl2v3hgk.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;54nzkqm89y.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;578prtvx9j.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;5a6flpkh64.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;5l3tpt7t6e.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;5lm9lj6jb7.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;5tjdwbrq8w.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;6964rsfnh4.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;6g9af3uyq4.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;6p4ks3rnbw.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;6v7lgmsu45.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;6xzpu9s2p8.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;737z793b9f.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;74b6s63p6l.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;79pbpufp6p.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;7fmhfwg9en.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;7rz58n8ntl.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;7ug5zh24hu.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;84993kbrcf.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;89z7zv988g.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;8c4e2ghe7u.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;8m87ys6875.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;8r8llnkz5a.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;8s468mfl3y.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;97r2b46745.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;9b89h5y424.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;9nlqeag3gk.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;9rd848q2bz.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;9t245vhmpl.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;9vvzujtq5s.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;9yg77x724h.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;a2p9lx4jpn.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;a7xqa6mtl2.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;a8cz6cu7e5.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;av6w8kgt66.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;b9bk5wbcq9.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;bxvub5ada5.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;c3frkrj4fj.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;c6k4g5qg8m.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;cg4yq2srnc.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;cj5566h2ga.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;cp8zw746q7.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;cs644xg564.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;cstr6suwn9.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;cwn433xbcr.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;dbu4b84rxf.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;dkc879ngq3.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;dzg6xy7pwj.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;e5fvkxwrpn.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;ecpz2srf59.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;eh6m2bh4zr.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;ejvt5qm6ak.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;f38h382jlk.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;f73kdq92p3.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;f7s53z58qe.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;feyaarzu9v.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;g28c52eehv.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;g2y4y55b64.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;g6gcrrvk4p.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;ggvn48r87g.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;glqzh8vgby.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;gta8lk7p23.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;gta9lk7p23.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;hb56zgv37p.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;hdw39hrw9y.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;hs6bdukanm.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;k674qkevps.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;kbd757ywx3.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;kbmxgpxpgc.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;klf5c3l5u5.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;krvm3zuq6h.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;lr83yxwka7.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;ludvb6z3bs.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;m297p6643m.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;m5mvw97r93.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;m8dbw4sv7c.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;mlmmfzh3r3.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;mls7yz5dvl.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;mp6xlyr22a.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;mqn7fxpca7.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;mtkv5xtk9e.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;n38lu8286q.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;n66cz3y3bx.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;n6fk4nfna4.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;n9x2a789qt.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;nzq8sh4pbs.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;p78axxw29g.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;ppxm28t8ap.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;prcb7njmu6.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;pwa73g5rt2.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;pwdxu55a5a.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;qqp299437r.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;qu637u8glc.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;r45fhb6rf7.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;rvh3l7un93.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;rx5hdcabgc.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;s39g8k73mm.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;s69wq72ugq.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;su67r6k2v3.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;t38b2kh725.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;tl55sbb4fm.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;u679fj5vs4.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;uw77j35x4d.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;v4nxqhlyqp.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;v72qych5uu.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;v79kvwwj4g.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;v9wttpbfk9.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;vcra2ehyfk.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;vhf287vqwu.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;vutu7akeur.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;w9q455wk68.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;wg4vff78zm.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;wzmmz9fp6w.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;x44k69ngh6.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;x5l83yy675.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;x8jxxk4ff5.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;x8uqf25wch.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;xga6mpmplv.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;xy9t38ct57.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;y45688jllp.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;y5ghdn5j9k.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;yclnxrl5pm.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;ydx93a7ass.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;z24wtl6j62.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;zmvfpc5aq8.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;dict&gt;
&lt;key&gt;SKAdNetworkIdentifier&lt;/key&gt;
&lt;string&gt;zq492l623r.skadnetwork&lt;/string&gt;
&lt;/dict&gt;
&lt;/array&gt;</code></pre>
<h2>2、功能接口</h2>
<p><code>引入头文件 #import &lt;HaoYouSDK/HaoYouSDK.h&gt;</code></p>
<h3>2.1、注册SDK回调监听 (必接)</h3>
<pre><code class="language-objectivec">- (void)viewDidLoad {
[super viewDidLoad];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(receiveSDKMessage:) name:SDKNotificationName object:nil];
[[HaoYouSDK getInstance] setGameVersion:@&quot;1.1.1&quot;];
[[HaoYouSDK getInstance] initSDK:self];
}
- (void)receiveSDKMessage:(NSNotification *)notification
{
HaoYouSDKNotification *result = [notification object];
if (result) {
int code = [result.statusCode intValue];
if (code == HYSDK_CODE_INIT_SUC) {
NSLog(@&quot;初始化成功&quot;);
}else if (code == HYSDK_CODE_LOGIN_SUC){
NSLog(@&quot;登录成功&quot;);
NSDictionary *loginInfo = [[HaoYouSDKUtils getInstance ] jsonStringToDictionary:result.message][@&quot;d&quot;];
NSString *uid = loginInfo[@&quot;uid&quot;];
NSString *token = loginInfo[@&quot;token&quot;];
NSLog(@&quot;uid:%@\ntoken:%@&quot;,uid,token);
}else if (code == HYSDK_CODE_PAY_SUC){
NSLog(@&quot;支付成功&quot;);
}else if (code == HYSDK_CODE_PAY_FAIL){
NSLog(@&quot;支付失败:%@&quot;,result.message);
}else if (code == HYSDK_CODE_INITAD_SUC){
NSLog(@&quot;广告初始化成功&quot;);
}else if (code == HYSDK_CODE_LOADAD_SUC){
NSLog(@&quot;广告加载成功&quot;);
}else if (code == HYSDK_CODE_LOADAD_FAIL){
NSLog(@&quot;广告加载失败:%@&quot;,result.message);
}else if (code == HYSDK_CODE_SHOWAD_SUC){
NSLog(@&quot;广告播放完毕,可发放奖励:%@&quot;,result.message);
}else if (code == HYSDK_CODE_SHOWAD_FAIL){
NSLog(@&quot;广告播放失败:%@&quot;,result.message);
}
}
}</code></pre>
<h3>1.8、如游戏工程不支持Swift混编可以新建一个Swift文件在根目录,xcode会自动适配</h3>
<h3>2.1、设置游戏版本,尽早调用,热更后需设置新的版本,可在初始化调用前调用(必接)</h3>
<pre><code class="language-objectivec"> [[HaoYouSDK getInstance] setGameVersion:@&quot;1.1.1&quot;];</code></pre>
<h3>2.2、初始化接口(必接)</h3>
<h4>2.2.1、代码示例:</h4>
<pre><code class="language-objectivec">[[HaoYouSDK getInstance] initSDK:self];</code></pre>
<h3>2.3、登录接口(必接)</h3>
<p>接口说明:游戏登录时调用</p>
<h4>2.3.1、代码示例</h4>
<pre><code class="language-objectivec">[[HaoYouSDK getInstance]login:self];</code></pre>
<h4>2.3.2、登录回调字典参数说明</h4>
<table>
<thead>
<tr>
<th>参数</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>game</td>
<td>游戏标识</td>
</tr>
<tr>
<td>uid</td>
<td>用户UID</td>
</tr>
<tr>
<td>token</td>
<td>用户登录态,用于服务端登录校验注意token有效期为5分钟,服务端需要在5分钟内完成校验</td>
</tr>
<tr>
<td>loginType</td>
<td>登录方式</td>
</tr>
<tr>
<td>account_name</td>
<td>账号名(显示名)</td>
</tr>
<tr>
<td>account_type</td>
<td>0:游客;1:邮箱;2: 脸书; 3:谷歌 ;4: 苹果</td>
</tr>
</tbody>
</table>
<pre><code class="language-objectivec">NSDictionary *loginInfo = [[HaoYouSDKUtils getInstance ] jsonStringToDictionary:result.message][@&quot;d&quot;];
NSString *uid = loginInfo[@&quot;uid&quot;];
NSString *token = loginInfo[@&quot;token&quot;];</code></pre>
<h3>2.4、提交角色数据接口(必接)</h3>
<p>接口说明:游戏提交角色数据接口,该接口需要在以下4中情况下调用:</p>
<ul>
<li>角色登录成功</li>
<li>角色升级</li>
<li>创建角色</li>
<li>选服完成</li>
</ul>
<h4>2.4.1、方法定义</h4>
<pre><code class="language-objectivec">[[HaoYouSDK getInstance] submitRoleInfo:self RoleInfo:roleInfo];</code></pre>
<h4>2.4.2、参数说明</h4>
<table>
<thead>
<tr>
<th>参数</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>UIViewController</td>
<td>上下文</td>
</tr>
<tr>
<td>HaoYouRoleInfo</td>
<td>角色实体类对象</td>
</tr>
</tbody>
</table>
<pre><code>HaoYouRoleInfo 实体类字段说明(以下参数都为必传参数,如游戏没有的传 &quot;&quot; 或者 &quot;0&quot;)</code></pre>
<table>
<thead>
<tr>
<th>字段名</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>action_type</td>
<td><code>创建角色</code> 调用类型 Role_Action_CreatRole ,<code>角色进入游戏</code> 调用类型 Role_Action_EnterGame ,<code>角色升级</code> 调用类型 Role_Action_RoleLevelUp ,<code>选服完成</code> 调用类型 Role_Action_SelectServer</td>
</tr>
<tr>
<td>server_id</td>
<td>服务器ID,长度不超过20字符,建议使用字符串型数值,例如:1</td>
</tr>
<tr>
<td>server_name</td>
<td>服务器名称,长度不超过20字符</td>
</tr>
<tr>
<td>isNew</td>
<td>是否当前新创建角色,否为0,是为1</td>
</tr>
<tr>
<td>role_id</td>
<td>角色ID,长度不超过20字符,建议使用字符串型数值,例如:1</td>
</tr>
<tr>
<td>role_name</td>
<td>角色名称,长度不超过100字符,不设定角色名称可传 ""</td>
</tr>
<tr>
<td>role_level</td>
<td>角色等级,不设定可传 0</td>
</tr>
<tr>
<td>vip_level</td>
<td>角色vip等级,不是VIP传0,是VIP传正常值</td>
</tr>
<tr>
<td>game_level</td>
<td>角色到达关卡,没有传"0"</td>
</tr>
<tr>
<td>power</td>
<td>角色战力值,若没传"0"</td>
</tr>
<tr>
<td>balance</td>
<td>角色剩余 金币(付费货币),没有传 0</td>
</tr>
</tbody>
</table>
<h4>2.4.3、代码示例</h4>
<pre><code class="language-objectivec">HaoYouRoleInfo *roleInfo = [HaoYouRoleInfo alloc];
[roleInfo setRole_id:@&quot;1&quot;];
[roleInfo setRole_name:@&quot;角色名&quot;];
[roleInfo setServer_id:@&quot;3&quot;];
[roleInfo setServer_name:@&quot;服务器名&quot;];
[roleInfo setRole_level:@9];
[roleInfo setVip_level:@3];
[roleInfo setGame_level:@&quot;22&quot;];
[roleInfo setPower:@&quot;88888&quot;];
[roleInfo setBalance:@648];
[roleInfo setAction_type:Role_Action_CreatRole];
[[HaoYouSDK getInstance] submitRoleInfo:self RoleInfo:roleInfo];</code></pre>
<h3>2.5、支付接口(必接)</h3>
<h4>2.5.1、方法定义</h4>
<pre><code class="language-objectivec">[[HaoYouSDK getInstance] pay:self PayInfo:payInfo];</code></pre>
<h4>2.5.2、参数说明</h4>
<table>
<thead>
<tr>
<th>参数</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>UIViewController</td>
<td>上下文</td>
</tr>
<tr>
<td>HaoYouPayInfo</td>
<td>支付实体类对象</td>
</tr>
</tbody>
</table>
<pre><code> 支付信息实体类(HaoYouPayInfo)字段说明</code></pre>
<table>
<thead>
<tr>
<th>参数</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>amount</td>
<td>订单金额,单位:分;例如:600</td>
</tr>
<tr>
<td>product_name</td>
<td>道具商品名称,长度不超过50字符。如无传""</td>
</tr>
<tr>
<td>product_id</td>
<td>道具商品ID,长度不超过50字符。需与运营协定,配置在SDK后台</td>
</tr>
<tr>
<td>server_id</td>
<td>服务器ID,长度不超过20字符,建议使用字符串型数值。</td>
</tr>
<tr>
<td>server_name</td>
<td>服务器名称,长度不超过20字符,建议使用字符串型数值。</td>
</tr>
<tr>
<td>role_id</td>
<td>角色ID,长度不超过64字符,建议使用字符串型数值。</td>
</tr>
<tr>
<td>role_name</td>
<td>角色名称,长度不超过100字符,不设定角色名称可传""</td>
</tr>
<tr>
<td>role_level</td>
<td>角色等级,不设定可传 0</td>
</tr>
<tr>
<td>game_level</td>
<td>角色到达关卡,没有传"0"</td>
</tr>
<tr>
<td>custom</td>
<td>附带参数,支付成功的回调中会带上该参数。</td>
</tr>
<tr>
<td>cp_order_id</td>
<td>CP方订单唯一标识,长度不超过64字符,例如:sgbw2020123456789。</td>
</tr>
</tbody>
</table>
<h4>2.5.3、代码示例</h4>
<pre><code class="language-objectivec">HaoYouPayInfo *payInfo = [HaoYouPayInfo alloc];
[payInfo setAmount:@&quot;6&quot;];
[payInfo setProduct_id:@&quot;product1&quot;];
[payInfo setProduct_name:@&quot;礼包&quot;];
[payInfo setCp_order_id:[[HaoYouSDKUtils getInstance] getTimestamp]];
[payInfo setRole_id:@&quot;1&quot;];
[payInfo setRole_name:@&quot;角色名&quot;];
[payInfo setServer_id:@&quot;3&quot;];
[payInfo setServer_name:@&quot;服务器名&quot;];
[payInfo setRole_level:@9];
[payInfo setGame_level:@&quot;22&quot;];
[payInfo setCustom:@&quot;透传参数&quot;];
[[HaoYouSDK getInstance] pay:self PayInfo:payInfo];</code></pre>
<h3>2.6、打开切换账号界面(必接)</h3>
<pre><code>游戏需在合适位置添加一个切换账号的按钮调用该接口,切换新账号或者登录新账号会回调新的账号登录成功信息</code></pre>
<pre><code class="language-objectivec">[[HaoYouSDK getInstance] changeAccount:self];</code></pre>
<h3>2.9、广告接口(必接)调用以下接口需收到广告初始化成功回调后调用</h3>
<h4>2.9.2、加载广告(必接)</h4>
<table>
<thead>
<tr>
<th>参数</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>UIViewController</td>
<td>上下文</td>
</tr>
<tr>
<td>AdId</td>
<td>广告位ID,由运营同学提供</td>
</tr>
</tbody>
</table>
<pre><code>视频广告预加载,需要在收到初始化完成后合适时机调用。
广告加载成功后在 HaoYouSDKNotification HYSDK_CODE_LOADAD_SUC 回调</code></pre>
<pre><code class="language-objectivec">[[HaoYouSDK getInstance] loadAd:self AdId:@&quot;cf18831617aaxxxx&quot;];</code></pre>
<h4>2.9.3、显示广告(必接)</h4>
<table>
<thead>
<tr>
<th style="text-align: left;">参数名</th>
<th style="text-align: left;">必含</th>
<th style="text-align: left;">类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">AdId</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>乐玩广告位ID,由运营同学提供(同上一致)</td>
</tr>
</tbody>
</table>
<pre><code>需在收到广告加载成功之后才可调用</code></pre>
<pre><code class="language-objectivec">[[HaoYouSDK getInstance] showAd:self AdId:@&quot;cf18831617aaxxxx&quot;];//调用此接口发起视频展示。</code></pre>
<pre><code>激励广告视频播放完成后在 HaoYouSDKNotification HYSDK_CODE_SHOWAD_SUC 回调</code></pre>
<h2>3.0、生命周期</h2>
<pre><code class="language-objectivec">
#import &lt;HaoYouSDK/HaoYouSDK.h&gt;
#import &quot;ThirdSDKManager.h&quot;
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[[ThirdSDKManager getInstance]initManager];
[[HaoYouSDK getInstance] application:application didFinishLaunchingWithOptions:launchOptions];
return YES;
}
- (void)applicationDidBecomeActive:(UIApplication *)application{
[[HaoYouSDK getInstance] applicationDidBecomeActive:application];
}
- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary&lt;UIApplicationOpenURLOptionsKey,id&gt; *)options{
[[HaoYouSDK getInstance] application:app openURL:url options:options];
return YES;
}
- (void)scene:(UIScene *)scene openURLContexts:(NSSet&lt;UIOpenURLContext *&gt; *)URLContexts{
[[HaoYouSDK getInstance] scene:scene openURLContexts:URLContexts];
}
- (void)sceneDidBecomeActive:(UIScene *)scene {
[[HaoYouSDK getInstance]sceneDidBecomeActive:scene];
}
</code></pre>