<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh-Hant-TW">
	<id>https://wiki.tamedia.com.tw/wiki/index.php?action=history&amp;feed=atom&amp;title=IOS_SDK_Developer_Guide</id>
	<title>IOS SDK Developer Guide - 修訂歷史</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.tamedia.com.tw/wiki/index.php?action=history&amp;feed=atom&amp;title=IOS_SDK_Developer_Guide"/>
	<link rel="alternate" type="text/html" href="https://wiki.tamedia.com.tw/wiki/index.php?title=IOS_SDK_Developer_Guide&amp;action=history"/>
	<updated>2026-06-11T09:12:50Z</updated>
	<subtitle>本 Wiki 上此頁面的修訂歷史</subtitle>
	<generator>MediaWiki 1.37.1</generator>
	<entry>
		<id>https://wiki.tamedia.com.tw/wiki/index.php?title=IOS_SDK_Developer_Guide&amp;diff=51&amp;oldid=prev</id>
		<title>imported&gt;Wikiuser：/* iOS SDK Developer Guide */</title>
		<link rel="alternate" type="text/html" href="https://wiki.tamedia.com.tw/wiki/index.php?title=IOS_SDK_Developer_Guide&amp;diff=51&amp;oldid=prev"/>
		<updated>2014-01-28T03:07:33Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;iOS SDK Developer Guide&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;a href=&quot;https://wiki.tamedia.com.tw/wiki/index.php?title=IOS_SDK_Developer_Guide&amp;amp;diff=51&amp;amp;oldid=50&quot;&gt;顯示變更&lt;/a&gt;</summary>
		<author><name>imported&gt;Wikiuser</name></author>
	</entry>
	<entry>
		<id>https://wiki.tamedia.com.tw/wiki/index.php?title=IOS_SDK_Developer_Guide&amp;diff=50&amp;oldid=prev</id>
		<title>imported&gt;Wikiuser：新頁面: == iOS SDK Developer Guide == *SDK相容性 :目前SDK相容於iOS 4.3以上的版本 :*Valid Architectures為armv7及armv7s :*Base SDK為iOS 6.1 :*Compiler為Apple LLVM compiler 4.2 :...</title>
		<link rel="alternate" type="text/html" href="https://wiki.tamedia.com.tw/wiki/index.php?title=IOS_SDK_Developer_Guide&amp;diff=50&amp;oldid=prev"/>
		<updated>2013-10-16T04:09:17Z</updated>

		<summary type="html">&lt;p&gt;新頁面: == iOS SDK Developer Guide == *SDK相容性 :目前SDK相容於iOS 4.3以上的版本 :*Valid Architectures為armv7及armv7s :*Base SDK為iOS 6.1 :*Compiler為Apple LLVM compiler 4.2 :...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新頁面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== iOS SDK Developer Guide ==&lt;br /&gt;
*SDK相容性&lt;br /&gt;
:目前SDK相容於iOS 4.3以上的版本&lt;br /&gt;
:*Valid Architectures為armv7及armv7s&lt;br /&gt;
:*Base SDK為iOS 6.1&lt;br /&gt;
:*Compiler為Apple LLVM compiler 4.2&lt;br /&gt;
:*Xcode為4.6.2版本&lt;br /&gt;
*整合至應用程式&lt;br /&gt;
:#將libTWMTAMediaView.a (函式檔) 加入iOS Project中&lt;br /&gt;
:#將TWMTAMediaView.h (標頭檔) 加入iOS Project中&lt;br /&gt;
:#將TWMTAMediaInterstitialView.h (標頭檔) 加入iOS Project中&lt;br /&gt;
:#將CloseButton.png (圖檔) 加入iOS Project中&lt;br /&gt;
:#確認原本iOS project是否有將CoreTelephony.framework加入, 若無則加入此framework&lt;br /&gt;
:#確認原本iOS project是否有將CoreLocation.framework加入, 若無則加入此framework&lt;br /&gt;
:#確認原本iOS project是否有將SystemConfiguration.framework加入, 若無則加入此framework&lt;br /&gt;
:#在Targets -&amp;gt; Build Setting裡面設定Other Linker Flags為-ObjC（參考http://developer.apple.com/library/mac/#qa/qa1490/_index.html）&lt;br /&gt;
:[[檔案:5.png]]&lt;br /&gt;
:[[檔案:6.png]]&lt;br /&gt;
*展示Banner廣告&lt;br /&gt;
:*Include Header&lt;br /&gt;
 #import &amp;quot;TWMTAMediaView.h&amp;quot;&lt;br /&gt;
:*建立廣告版位&lt;br /&gt;
 _adView = [[TWMTAMediaView alloc] initWithFrame:frame&lt;br /&gt;
                                          slotId:@&amp;quot;xxxxxxxxxx&amp;quot;&lt;br /&gt;
                                     developerID:@&amp;quot;my_id&amp;quot;&lt;br /&gt;
                                      gpsEnabled:YES&lt;br /&gt;
                                        testMode:NO];&lt;br /&gt;
:::gpsEnabled : GPS開關，可設定是否啟用GPS&lt;br /&gt;
:::testMode : 測試開關，可設定是否為測試模式，測試模式中會在console顯示詳細log&lt;br /&gt;
:*Implement Delegate&lt;br /&gt;
:我們提供四個Callback方法，可以讓你在Banner廣告載入過程接收到對應的通知&lt;br /&gt;
 @interface TWMTAMediaViewController () &amp;lt;TWMTAMediaViewDelegate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 _adView.delegate = self;&lt;br /&gt;
&lt;br /&gt;
 - (void)viewWillLoadAd:(TWMTAMediaView *)view&lt;br /&gt;
 {&lt;br /&gt;
     NSLog(@&amp;quot;%@ viewWillLoadAd&amp;quot;, view);&lt;br /&gt;
 }&lt;br /&gt;
 - (void)viewDidLoadAd:(TWMTAMediaView *)view&lt;br /&gt;
 {&lt;br /&gt;
     NSLog(@&amp;quot;%@ viewDidLoadAd&amp;quot;, view);&lt;br /&gt;
 }&lt;br /&gt;
 - (void)view:(TWMTAMediaView *)view didFailToReceiveAdWithError:(NSError *)error&lt;br /&gt;
 {&lt;br /&gt;
     NSLog(@&amp;quot;%@ didFailToReceiveAdWithError:%@&amp;quot;, view, error.description);&lt;br /&gt;
 }&lt;br /&gt;
 - (BOOL)viewActionShouldBegin:(TWMTAMediaView *)view willLeaveApplication:(BOOL)willLeave&lt;br /&gt;
 {&lt;br /&gt;
     NSLog(@&amp;quot;%@ willLeaveApplication:%i&amp;quot;, view, willLeave);&lt;br /&gt;
     return YES;&lt;br /&gt;
 }&lt;br /&gt;
:*接收廣告&lt;br /&gt;
 [_adView receiveAd];&lt;br /&gt;
:*dealloc&lt;br /&gt;
 _adView.delegate = nil;&lt;br /&gt;
 [_adView release];&lt;br /&gt;
 _adView = nil;&lt;br /&gt;
:::建議在廣告呈現的ViewController要release之前，先將_adView.delegate設為nil&lt;br /&gt;
*展示Interstitial廣告&lt;br /&gt;
:*Include Header&lt;br /&gt;
 #import &amp;quot;TWMTAMediaInterstitialView.h&amp;quot;&lt;br /&gt;
:*建立廣告版位&lt;br /&gt;
 CGRect frame = CGRectMake(0, 0, [UIScreen mainScreen].applicationFrame.size.width, [UIScreen mainScreen].applicationFrame.size.height);&lt;br /&gt;
 _interstitialView = [[TWMTAMediaInterstitialView alloc] initWithFrame:frame&lt;br /&gt;
                                                                slotId:@&amp;quot;xxxxxxxxxx&amp;quot;&lt;br /&gt;
                                                           developerID:@&amp;quot;my_id&amp;quot;&lt;br /&gt;
                                                            gpsEnabled:YES&lt;br /&gt;
                                                              testMode:NO];&lt;br /&gt;
:::gpsEnabled : GPS開關，可設定是否啟用GPS&lt;br /&gt;
:::testMode : 測試開關，可設定是否為測試模式，測試模式中會在console顯示詳細log&lt;br /&gt;
:*Implement Delegate&lt;br /&gt;
 @interface TWMTAMediaViewController () &amp;lt;TWMTAMediaInterstitialViewDelegate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 _interstitialView.delegate = self;&lt;br /&gt;
&lt;br /&gt;
 - (void)interstitialViewWillLoadAd:(TWMTAMediaInterstitialView *)view&lt;br /&gt;
 {&lt;br /&gt;
     NSLog(@&amp;quot;%@ interstitialViewWillLoadAd&amp;quot;, view);&lt;br /&gt;
 }&lt;br /&gt;
 - (void)interstitialViewDidLoadAd:(TWMTAMediaInterstitialView *)view&lt;br /&gt;
 {&lt;br /&gt;
     NSLog(@&amp;quot;%@ interstitialViewDidLoadAd&amp;quot;, view);&lt;br /&gt;
     [_interstitialView showAd:self.view];&lt;br /&gt;
 }&lt;br /&gt;
 - (void)interstitialView:(TWMTAMediaInterstitialView *)view didFailToReceiveAdWithError:(NSError *)error&lt;br /&gt;
 {&lt;br /&gt;
      NSLog(@&amp;quot;%@ interstitialViewdidFailToReceiveAdWithError:%@&amp;quot;, view, error.description);&lt;br /&gt;
 }&lt;br /&gt;
 - (BOOL)interstitialViewActionShouldBegin:(TWMTAMediaInterstitialView *)view willLeaveApplication:(BOOL)willLeave&lt;br /&gt;
 {&lt;br /&gt;
     NSLog(@&amp;quot;%@ interstitialViewwillLeaveApplication:%i&amp;quot;, view, willLeave);&lt;br /&gt;
     return YES;&lt;br /&gt;
 }&lt;br /&gt;
 - (void)interstitialViewWillDisappear:(TWMTAMediaInterstitialView *)view&lt;br /&gt;
 {&lt;br /&gt;
     NSLog(@&amp;quot;%@ interstitialViewWillDisappear&amp;quot;, view);&lt;br /&gt;
 }&lt;br /&gt;
 - (void)interstitialViewDidDisappear:(TWMTAMediaInterstitialView *)view&lt;br /&gt;
 {&lt;br /&gt;
     NSLog(@&amp;quot;%@ interstitialViewDidDisappear&amp;quot;, view);&lt;br /&gt;
 }&lt;br /&gt;
:*接收廣告&lt;br /&gt;
 [_interstitialView receiveAd];&lt;br /&gt;
:::注意：目前Interstitial廣告有相同版位ID在同一台裝置上，每天只會展示一次廣告的限制&lt;br /&gt;
:*dealloc&lt;br /&gt;
 _interstitialView.delegate = nil;&lt;br /&gt;
 [_interstitialView release];&lt;br /&gt;
 _interstitialView = nil;&lt;br /&gt;
:::建議在廣告呈現的ViewController要release之前，將_interstitialView.delegate設為nil&lt;br /&gt;
*與Google AdMob整合&lt;br /&gt;
:*一般Banner廣告&lt;br /&gt;
::首先將SDK整合至專案中，接著參考https://developers.google.com/mobile-ads-sdk/training/mediation/custom-events/，先設定好Custom Event，最後，在專案中加入Custom Event需要的Class，其中Custom Event的Class Name需要和下面Sample的Class Name保持一致。&lt;br /&gt;
 #import &amp;quot;TWMTAMediaCustomView.h&amp;quot;&lt;br /&gt;
 #import &amp;quot;GADCustomEventBanner.h&amp;quot;&lt;br /&gt;
 #import &amp;quot;GADCustomEventBannerDelegate.h&amp;quot;&lt;br /&gt;
 #import &amp;quot;TWMTAMediaView.h&amp;quot;&lt;br /&gt;
 @interface TWMTAMediaCustomView () &amp;lt;GADCustomEventBanner, TWMTAMediaViewDelegate&amp;gt;&lt;br /&gt;
 {&lt;br /&gt;
     TWMTAMediaView *adView;&lt;br /&gt;
 }&lt;br /&gt;
 @end&lt;br /&gt;
 @implementation TWMTAMediaCustomView&lt;br /&gt;
 @synthesize delegate;&lt;br /&gt;
 - (void)requestBannerAd:(GADAdSize)adSize&lt;br /&gt;
               parameter:(NSString *)serverParameter&lt;br /&gt;
                   label:(NSString *)serverLabel&lt;br /&gt;
                 request:(GADCustomEventRequest *)customEventRequest  {&lt;br /&gt;
     &lt;br /&gt;
     CGRect frame = CGRectMake(0, 0, adSize.size.width, adSize.size.height);&lt;br /&gt;
     adView = [[TWMTAMediaView alloc] initWithFrame:CGRectMake(0, 0, 320, 50)&lt;br /&gt;
                                             slotId:serverParameter&lt;br /&gt;
                                        developerID:@&amp;quot;&amp;quot;&lt;br /&gt;
                                         gpsEnabled:YES&lt;br /&gt;
                                           testMode:NO];&lt;br /&gt;
     adView.delegate = self;&lt;br /&gt;
     [adView receiveAd];&lt;br /&gt;
 &lt;br /&gt;
 }&lt;br /&gt;
 - (void)viewWillLoadAd:(TWMTAMediaView *)view&lt;br /&gt;
 {&lt;br /&gt;
     NSLog(@&amp;quot;%@ viewWillLoadAd&amp;quot;, view);&lt;br /&gt;
     [self.delegate customEventBanner:self didReceiveAd:view];&lt;br /&gt;
 }&lt;br /&gt;
 - (void)viewDidLoadAd:(TWMTAMediaView *)view&lt;br /&gt;
 {&lt;br /&gt;
     NSLog(@&amp;quot;%@ viewDidLoadAd&amp;quot;, view);&lt;br /&gt;
     [self.delegate customEventBanner:self didReceiveAd:view];&lt;br /&gt;
 }&lt;br /&gt;
 - (void)view:(TWMTAMediaView *)view didFailToReceiveAdWithError:(NSError *)error&lt;br /&gt;
 {&lt;br /&gt;
     NSLog(@&amp;quot;%@ didFailToReceiveAdWithError:%@&amp;quot;, view, error.description);&lt;br /&gt;
     [self.delegate customEventBanner:self didFailAd:error];&lt;br /&gt;
 }&lt;br /&gt;
 - (BOOL)viewActionShouldBegin:(TWMTAMediaView *)view willLeaveApplication:(BOOL)willLeave&lt;br /&gt;
 {&lt;br /&gt;
     NSLog(@&amp;quot;%@ willLeaveApplication:%i&amp;quot;, view, willLeave);&lt;br /&gt;
     [self.delegate customEventBannerWillLeaveApplication:self];&lt;br /&gt;
     return YES;&lt;br /&gt;
 }&lt;br /&gt;
 @end&lt;br /&gt;
:*Interstitial廣告&lt;br /&gt;
 #import &amp;quot;TWMTAMediaCustomInterstitialView.h&amp;quot;&lt;br /&gt;
 #import &amp;quot;GADCustomEventInterstitial.h&amp;quot;&lt;br /&gt;
 #import &amp;quot;GADCustomEventInterstitialDelegate.h&amp;quot;&lt;br /&gt;
 #import &amp;quot;TWMTAMediaInterstitialView.h&amp;quot;&lt;br /&gt;
 @interface TWMTAMediaCustomInterstitialView () &amp;lt;GADCustomEventInterstitial, TWMTAMediaInterstitialViewDelegate&amp;gt;&lt;br /&gt;
 {&lt;br /&gt;
     TWMTAMediaInterstitialView *adView;&lt;br /&gt;
 }&lt;br /&gt;
 @end&lt;br /&gt;
 @implementation TWMTAMediaCustomInterstitialView&lt;br /&gt;
 @synthesize delegate;&lt;br /&gt;
 - (void)requestInterstitialAdWithParameter:(NSString *)serverParameter&lt;br /&gt;
                                      label:(NSString *)serverLabel&lt;br /&gt;
                                    request:(GADCustomEventRequest *)customEventRequest {&lt;br /&gt;
     &lt;br /&gt;
     CGRect frame = CGRectMake(0, 0, [UIScreen mainScreen].applicationFrame.size.width, [UIScreen mainScreen].applicationFrame.size.height);&lt;br /&gt;
     adView = [[TWMTAMediaInterstitialView alloc] initWithFrame:frame&lt;br /&gt;
                                                         slotId:serverParameter&lt;br /&gt;
                                                    developerID:@&amp;quot;&amp;quot;&lt;br /&gt;
                                                     gpsEnabled:YES&lt;br /&gt;
                                                       testMode:NO];&lt;br /&gt;
     adView.delegate = self;&lt;br /&gt;
     [adView receiveAd];&lt;br /&gt;
 }&lt;br /&gt;
 - (void)presentFromRootViewController:(UIViewController *)rootViewController {&lt;br /&gt;
     CGRect frame = CGRectMake(0, 0, 0, 0);&lt;br /&gt;
     frame.size.width = [UIScreen mainScreen].applicationFrame.size.width;&lt;br /&gt;
     frame.size.height = [UIScreen mainScreen].applicationFrame.size.height;&lt;br /&gt;
     adView.frame = frame;&lt;br /&gt;
     [rootViewController.view addSubview:adView];&lt;br /&gt;
     [rootViewController.view bringSubviewToFront:adView];&lt;br /&gt;
 }&lt;br /&gt;
 - (void)interstitialViewWillLoadAd:(TWMTAMediaInterstitialView *)view&lt;br /&gt;
 {&lt;br /&gt;
     NSLog(@&amp;quot;%@ interstitialViewWillLoadAd&amp;quot;, view);&lt;br /&gt;
     [self.delegate customEventInterstitial:self didReceiveAd:view];&lt;br /&gt;
 }&lt;br /&gt;
 - (void)interstitialViewDidLoadAd:(TWMTAMediaInterstitialView *)view&lt;br /&gt;
 {&lt;br /&gt;
     NSLog(@&amp;quot;%@ interstitialViewDidLoadAd&amp;quot;, view);&lt;br /&gt;
     [self.delegate customEventInterstitial:self didReceiveAd:view];&lt;br /&gt;
 }&lt;br /&gt;
 - (void)interstitialView:(TWMTAMediaInterstitialView *)view didFailToReceiveAdWithError:(NSError *)error&lt;br /&gt;
 {&lt;br /&gt;
     NSLog(@&amp;quot;%@ interstitialViewdidFailToReceiveAdWithError:%@&amp;quot;, view, error.description);&lt;br /&gt;
     [self.delegate customEventInterstitial:self didFailAd:error];&lt;br /&gt;
 }&lt;br /&gt;
 - (BOOL)interstitialViewActionShouldBegin:(TWMTAMediaInterstitialView *)view willLeaveApplication:(BOOL)willLeave&lt;br /&gt;
 {&lt;br /&gt;
     NSLog(@&amp;quot;%@ interstitialViewwillLeaveApplication:%i&amp;quot;, view, willLeave);&lt;br /&gt;
     [self.delegate customEventInterstitialWillLeaveApplication:self];&lt;br /&gt;
     return YES;&lt;br /&gt;
 }&lt;br /&gt;
 - (void)interstitialViewWillDisappear:(TWMTAMediaInterstitialView *)view&lt;br /&gt;
 {&lt;br /&gt;
     NSLog(@&amp;quot;%@ interstitialViewWillDisappear&amp;quot;, view);&lt;br /&gt;
     [self.delegate customEventInterstitialWillDismiss:self];&lt;br /&gt;
 }&lt;br /&gt;
 - (void)interstitialViewDidDisappear:(TWMTAMediaInterstitialView *)view&lt;br /&gt;
 {&lt;br /&gt;
     NSLog(@&amp;quot;%@ interstitialViewDidDisappear&amp;quot;, view);&lt;br /&gt;
     [self.delegate customEventInterstitialDidDismiss:self];&lt;br /&gt;
 }&lt;br /&gt;
 @end&lt;/div&gt;</summary>
		<author><name>imported&gt;Wikiuser</name></author>
	</entry>
</feed>