2013年9月8日日曜日

Delphi For iOS でiADを使用する方法

Delphi Programing

こんにちは、やましょうです。


実は全く別のフレームワークを使いたくて、各所に問い合わせしていてたまたま発見
結局 Ios アプリで、お金がもられるらしい。ということは
Delphi 使いのみんなに元気なる=>みんな東北にいって日本が元気って欲しい。
そんな思い込め、みんなでiAdでリッチになりましょう。

それでは、私の実装方法の公開です。
 
元ネタはこちら

実装終了後、のデバッグです。コンパイルエラーもちょっと出ちゃいます。
修正後手持ちのIPhone 4 はOK  IPhone 5はダメ。。あれ??
さて修正が必要ですね。。


1.コンパイルエラーを修正(iOS_Library_iAd.Pas)

  (追記:XE4_ex02_iAd.zipからコンパイルした場合?だけのようです)

 $If defined(CPUARM)}
  procedure XE4_FakeLoader ; cdecl; external libCoreiAd;
{$Else}
 Initialization
  iAdModule := dlopen(MarshaledAString(libCoreiAd), RTLD_LAZY);
 finalization
  dlclose(iAdModule);
{$IfEnd}

2.IPhone/IPad用に位置設定の引数を追加です。

(iOS_Library_iAd.Pas)

Constructor TiOSiAd.Create(Height:integer;Width:integer);//var
//x ,y: integer;
//ws : IFMXWINDOWSERVICE;
 begin
  inherited  Create();
  // initialize --------------------------
  FEvent         := TADBannerViewDelegate.Create;
  FEvent.FOnLoad := nil;
  FEvent.FOnFail := nil;
  //
  FControl :=  TADBannerView.Wrap( TADBannerView.OCClass.alloc);
//FControl.initWithFrame( CGRectMake (0,480-20-50,320,50) );
  FControl.initWithFrame( CGRectMake (0,Height-70,Width,50) );
  FControl.setCurrentContentSizeIdentifier(ADBannerContentSizeIdentifierPortrait);
  FControl.setDelegate(FEvent.GetObjectID);
  //
  FSelf := Self;
 end;


3.アプリソースへの変更点(ここからは各自のアプリへの変更です。)

3-1.use 節にiOS_Library_iAd追加

3-2.ver 節に   iAd : TiOSiAdを追加;

3-3.起動コードの追加

procedure xxxxx.FormCreate(Sender: TObject);
begin
  ....
     iAd := TiOSiAd.Create(Screen.Size.Height,Screen.Size.Width);
     WindowHandleToPlatform(Self.Handle).View.addSubview(iAd.FControl);


end;





iTunesconnect等への登録方法等は、”Xcode iad"等でググってください

0 件のコメント:

コメントを投稿