按照说明集成 Unity。
为确保更流畅的体验,您必须使用 Unity 版本 2020.1.10f1 或更高版本才能使用 InMobi Unity 插件。

导入 InMobi SDK 头文件并进行初始化。
<span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">InitializeInMobiAds</span>()</span>
{
UpdateLogs(<span class="hljs-string">"initializeInMobiAds "</span>);
InMobiPlugin inmobiPlugin = <span class="hljs-keyword">new</span> InMobiPlugin();
inmobiPlugin.OnInitializationCompleted += <span class="hljs-keyword">this</span>.HandleInitializationStatus;
Dictionary<<span class="hljs-built_in">string</span>, <span class="hljs-built_in">object</span>=<span class="hljs-string">""</span>> consentObject = <span class="hljs-keyword">new</span> Dictionary<<span class="hljs-built_in">string</span>, <span class="hljs-built_in">object</span>=<span class="hljs-string">""</span>>();
consentObject.Add(InMobiPlugin.IM_GDPR_CONSENT_AVAILABLE, <span class="hljs-literal">true</span>);
consentObject.Add(InMobiPlugin.IM_GDPR_CONSENT_IAB, <span class="hljs-string">"IAB_STRING"</span>);
inmobiPlugin.Init(<span class="hljs-string">"<inmobi account="</span><span class="hljs-string">" id="</span><span class="hljs-string">">"</span>, consentObject);
inmobiPlugin.SetLogLevel(<span class="hljs-string">"Debug"</span>);
inmobiPlugin.SetAge(<span class="hljs-number">23</span>);
}
<span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">HandleInitializationStatus</span> (<span class="hljs-params"><span class="hljs-built_in">object</span> sender, SdkInitializationStatusArgs args</span>)</span> {
UpdateLogs(<span class="hljs-string">"SDK Initialization status code : "</span> + args.status.Code + <span class="hljs-string">" and reason : "</span> + args.status.Reason);
} </inmobi></<span class="hljs-built_in">string</span>,></<span class="hljs-built_in">string</span>,>
创建用户数据模型,如下所示:
<span class="hljs-type">InMobiUserDataTypes</span> <span class="hljs-variable">emailIdData</span> <span class="hljs-operator">=</span> <span class="hljs-keyword">new</span> <span class="hljs-title class_">InMobiUserDataTypes</span>();
emailIdData.Md5 = CreateMD5(emailID);
emailIdData.Sha1 = CreateSHA1(emailID);
emailIdData.Sha256 = CreateSHA256(emailID);
<span class="hljs-type">InMobiUserDataTypes</span> <span class="hljs-variable">phoneNumberData</span> <span class="hljs-operator">=</span> <span class="hljs-keyword">new</span> <span class="hljs-title class_">InMobiUserDataTypes</span>();
phoneNumberData.Md5 = CreateMD5(phoneNumber);
phoneNumberData.Sha1 = CreateSHA1(phoneNumber);
phoneNumberData.Sha256 = CreateSHA256(phoneNumber);
<span class="hljs-type">InMobiUserDataModel</span> <span class="hljs-variable">userDataModel</span> <span class="hljs-operator">=</span> <span class="hljs-keyword">new</span> <span class="hljs-title class_">InMobiUserDataModel</span>();
userDataModel.EmailID = emailIdData;
userDataModel.PhoneNumber = phoneNumberData;
<span class="hljs-comment">// Pass this data model to fetch the API. </span>
InMobiUnifiedIdService.Push(userDataModel);
使用此 API 获取 UnifFI ID。
<span class="hljs-title class_">InMobiUnifiedIdService</span>.<span class="hljs-title class_">FetchUnifiedIds</span>();
<span class="hljs-title class_">Callback</span>:
<span class="hljs-keyword">public</span> <span class="hljs-built_in">void</span> <span class="hljs-title function_">onFetchCompleted</span>(<span class="hljs-params"><span class="hljs-built_in">object</span> sender, OnFetchCompletedEventArgs e</span>)
{
<span class="hljs-title class_">UnityMainThreadHelper</span>.<span class="hljs-title class_">GetInstance</span>().<span class="hljs-title class_">PostTask</span>(<span class="hljs-function">() =></span> {
<span class="hljs-title class_">Logger</span>.<span class="hljs-title function_">getInstance</span>().<span class="hljs-title function_">log</span>(<span class="hljs-string">"onFetchCompleted"</span> + e.<span class="hljs-property">unifiedIds</span> + <span class="hljs-string">" "</span> + e.<span class="hljs-property">error</span>, logField);
});
}
示例代码
<span class="hljs-keyword">public</span> <span class="hljs-title class_">InputField</span> logField;
<span class="hljs-keyword">public</span> <span class="hljs-built_in">void</span> <span class="hljs-title function_">onFetchCompleted</span>(<span class="hljs-params"><span class="hljs-built_in">object</span> sender, OnFetchCompletedEventArgs e</span>)
{
<span class="hljs-title class_">UnityMainThreadHelper</span>.<span class="hljs-title class_">GetInstance</span>().<span class="hljs-title class_">PostTask</span>(<span class="hljs-function">() =></span> {
<span class="hljs-title class_">Logger</span>.<span class="hljs-title function_">getInstance</span>().<span class="hljs-title function_">log</span>(<span class="hljs-string">"onFetchCompleted"</span> + e.<span class="hljs-property">unifiedIds</span> + <span class="hljs-string">" "</span> + e.<span class="hljs-property">error</span>, logField);
});
}
<span class="hljs-keyword">private</span> <span class="hljs-built_in">void</span> <span class="hljs-title class_">Start</span>()
{
<span class="hljs-title class_">InMobiUnifiedIdService</span>.<span class="hljs-property">OnFetchCompleted</span> += onFetchCompleted;
}
<span class="hljs-keyword">public</span> <span class="hljs-built_in">void</span> <span class="hljs-title function_">onFetch</span>()
{
<span class="hljs-title class_">Logger</span>.<span class="hljs-title function_">getInstance</span>().<span class="hljs-title function_">log</span>(<span class="hljs-string">"Fetch Called"</span>, logField);
<span class="hljs-title class_">InMobiUnifiedIdService</span>.<span class="hljs-title class_">FetchUnifiedIds</span>();
}
调用以下重置 API 以清除 SDK 中存储的所有用户相关数据和 ID。
InMobiUnifiedIdService<span class="hljs-selector-class">.Reset</span>();
使用以下函数将通过与不同的 ID 合作伙伴(例如 liveramp、id5 等)建立直接合作关系而获得的 UID(通用 ID)向上游传递给需求合作伙伴,或传递给其他广告交易平台。
InMobiSdk<span class="hljs-selector-class">.setPublisherProvidedUnifiedID</span>(Dictionary unifiedIds);
示例代码
<span class="hljs-title class_">InMobiPlugin</span> inMobiPlugin = <span class="hljs-keyword">new</span> <span class="hljs-title class_">InMobiPlugin</span>();
<span class="hljs-title class_">Dictionary</span><<span class="hljs-built_in">string</span>, <span class="hljs-built_in">object</span>=<span class="hljs-string">""</span>> unifIds = <span class="hljs-keyword">new</span> <span class="hljs-title class_">Dictionary</span><<span class="hljs-built_in">string</span>, <span class="hljs-built_in">object</span>=<span class="hljs-string">""</span>>();
unifIds.<span class="hljs-title class_">Add</span>(<span class="hljs-string">"key0"</span>, <span class="hljs-string">"value0"</span>);
unifIds.<span class="hljs-title class_">Add</span>(<span class="hljs-string">"nestedJson"</span>, level1);
inMobiPlugin.<span class="hljs-title class_">SetPublisherProvidedUnifiedId</span>(unifIds); <<span class="hljs-regexp">/string,></</span><span class="hljs-built_in">string</span>,>
By installing this SDK update, you agree that your Children Privacy Compliance setting remains accurate or that you will update that setting, whenever there is a change in your app's audience. You may update the app's Children Privacy Compliance settings at https://publisher.inmobi.com/my-inventory/app-and-placements.