Android iOS Unity JS API 常见问题

SDK项目部署

说明

使用广告SDK,您的iOS应用可以借助腾讯广告SDK完成广告创收。本章介绍了两种在iOS应用中集成广告SDK的方法。

自动部署

自动部署可以省去您工程配置的时间。iOS SDK会通过CocoaPods进行发布,推荐您使用自动部署。

  1. 安装CocoaPods

    CocoaPods是一个Swift和Objective-C项目的依赖管理器。它拥有超过49,000个第三方库,超过3,000,000个app都在使用cocoaPods做依赖管理,CocoaPods可以帮助你优雅的扩展你的项目。 如果您未安装过cocoaPods,可以通过以下命令行进行安装。更多详情请访问CocoaPods官网

    $ sudo gem install cocoapods
    

    注意:安装过程可能会耗时比较长,也有可能收到网络状况导致失败,请多次尝试直到安装成功。

  2. 配置Podfile文件

    在您的工程文件所在文件夹下有一个名为Podfile的文件。如果您第一次使用CocoaPods,可以在通过以下命令初始化一个Podfile文件:

    $ pod init
    

    打开Podfile文件,应该是如下内容(具体内容可能会有一些出入):

    # platform :ios, '9.0'
    target 'podTest' do
      # use_frameworks!
      # Pods for podTest
    end
    

    修改Podfile文件,将pod 'GDTMobSDK'添加到Podfile中,如下所示:

    # platform :ios, '9.0'
    target 'podTest' do
      # use_frameworks!
     pod 'GDTMobSDK', '~> 4.10.5' # 输入你想要的版本号
      # Pods for podTest
    end
    
  3. 使用CocoaPods进行SDK部署

    通过CocoaPods安装SDK前,确保CocoaPods索引已经更新。可以通过运行以下命令来更新索引:

    $ pod repo update
    

    运行命令进行安装:

    $ pod install
    

    也可以将上述两条命令合成为如下命令:

    $ pod install --repo-update
    

    命令执行成功后,会生成.xcworkspace文件,可以打开.xcworkspace来启动工程,如下图所示。

  4. 升级SDK

    升级SDK时,首先要更新repo库,执行命令:

    $ pod repo update
    

    之后重新执行如下命令进行安装即可升级至最新版SDK

    $ pod install
    

    注意 :只有在Podfile文件中没有指定SDK版本时,运行上述命令才会自动升级到最新版本。不然需要修改Podfile文件,手动指定SDK版本为最新版本。

  5. 指定SDK版本

    指定SDK版本前,请先确保repo库为最新版本,参考上一小节内容进行更新。如果需要指定SDK版本,需要在Podfile文件中,pod那一行指定版本号:

    pod 'GDTMobSDK', '~> 4.9.0' #这里改成你想要的版本号
    

    之后运行命令:

    $ pod install
    

手动部署

本章会指导您手动将iOS SDK进行集成。如果您没有项目,请先创建一个空白项目。

添加依赖库

将解压缩后的lib文件copy到工程文件夹中,然后在项目中选中项目文件,选择Add Files to “your project name”:

在弹出来的窗口中,请将如下文件添加到工程中:

需要引入的依赖库
libGDTMobSDK.a
GDTMobBannerView.h
GDTNativeExpressAd.h
GDTNativeExpressAdView.h
GDTMobInterstitial.h
GDTNativeAd.h
GDTSplashAd.h
GDTRewardVideoAd.h
GDTUnifiedNativeAd.h
GDTUnifiedNativeAdView.h
GDTUnifiedNativeAdDataObject.h
GDTLogoView.h
GDTMediaView.h
GDTSDKDefines.h
需要引入的系统库
库名称 SDK 备注
AdSupport.framework 4.7.2及以后版本
CoreLocation.framework 同上
QuartzCore.framework 同上
SystemConfiguration.framework 同上
CoreTelephony.framework 同上
libz.tbd 同上 或者是libz.dylib
Security.framework 同上
StoreKit.framework 同上
libxml2.tbd 同上
AVFoundation.framework 同上
WebKit.framework 同上 可选

说明

  1. SystemConfiguration.framework、CoreTelephony.framework、Security.framework是为了统计app信息使用
  2. iOS9以后的版本,需要把libz.dylib替换成libz.tbd
  3. 引入系统库的操作过程如下:
    在Xcode中选中工程名,在Target->Build Phases->Link Binary With Libraries中点击“+”,在弹出窗口输入库名称,出现后点击“Add”则将库引入到系统中。
其它设置

在Target->Build Settings -> Other Linker Flags中添加-ObjC, 字母o和c大写。

位置权限

SDK 不会主动获取应用位置权限,当应用本身有获取位置权限逻辑时,需要在应用的 info.plist 添加相应配置信息,避免 App Store 审核被拒:

   // 应用根据实际情况配置
   Privacy - Location When In Use Usage Description
   Privacy - Location Always and When In Use Usage Description
   Privacy - Location Always Usage Description
   Privacy - Location Usage Description

Swift接入准备

  1. 新建桥接头文件(bridge.h,推荐放在工程目录下)。这里我们命名为:GDTMobSample-Swift-Bridging-Header.h。在这个文件中import我们需要的所有头文件,代码如下:
  #import "GDTNativeExpressAdView.h"
  #import "GDTMobBannerView.h"
  #import "GDTMobInterstitial.h"
  #import "GDTNativeExpressAd.h"
  #import "GDTNativeAd.h"
  #import "GDTSplashAd.h"
  #import "GDTSDKConfig.h"
  1. 左侧目录中选中工程名,在 TARGETS->Build Settings-> Swift Compiler - Code Generation -> Objective-C Bridging Header 中输入桥接文件的路径,如下图所示:

其他配置

苹果公司在iOS9中升级了应用网络通信安全策略,默认推荐开发者使用HTTPS协议来进行网络通信,并限制HTTP协议的请求。为了避免出现无法拉取到广告的情况,我们推荐开发者在info.plist文件中增加如下配置来实现广告的网络访问:(信任HTTP请求)

若有获取SDK版本的需求,也可直接调用接口:

Objective-C
NSString *version = [GDTSDKConfig sdkVersion];
Swift
let version =  GDTSDKConfig.sdkVersion()

Copyright © 1998 - 2020 Tencent Inc. All Rights Reserved.
腾讯公司 版权所有 | 加入优量汇