いつもお世話になっております。
suzuki.keiwoksです。
万策尽きてしまったのでご相談させてください。
TBannerAdを使用してAndroid上でAdMob広告表示しようとしているのですが
デバッグ実行時に必ず以下の例外が発生してしまいます。
----------------------------------------
プロジェクト Project1.apkは例外クラス Segmentation fault (11)を送出しました。
----------------------------------------
ソースは最後に全文を記載しますがFormCreateでUnitIDをセットして、
FormShowでLoadしているだけのシンプルなものです。
それぞれの行にブレークポイントを置いて実行していますが正常に通過しており
例外表示ウィンドウ上の「ブレーク」ボタンをクリックして表示されるのはソースではなく
CPUウィンドウになっており、私の知識ではどこで例外が発生しているのか分からない状態です。
なお、例外表示ウィンドウの「継続」ボタンをクリックすると広告が正常に表示されます。
また、TBannerAdをFormから削除した場合は例外が発生しないため
TBannerAdの影響ということは間違いないと考えています。
この例外を解決する方法をご存知の方がいらっしゃいましたらご教示いただけないでしょうか。
よろしくお願いいたします。
環境は以下になります。
----------------------------------------
Delphi 10.2 バージョン 25.0.29899.2631
以下のAndroid Push Notification パッチ適用済
https://cc.embarcadero.com/item/30831
プロジェクトマネージャ→Android→ライブラリを右クリック→
システムファイルをデフォルトに戻す(V)も実行済
----------------------------------------
ソースは以下になります。
----------------------------------------
unit Unit1;
interface
uses
System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs,
FMX.Controls.Presentation, FMX.StdCtrls, FMX.Advertising;
type
TForm1 = class(TForm)
BannerAd1: TBannerAd;
procedure FormCreate(Sender: TObject);
procedure FormShow(Sender: TObject);
private
{ private 宣言 }
public
{ public 宣言 }
end;
var
Form1: TForm1;
implementation
{$R *.fmx}
procedure TForm1.FormCreate(Sender: TObject);
begin
BannerAd1.AdUnitID := 'ca-app-pub-3940256099942544/6300978111';
end;
procedure TForm1.FormShow(Sender: TObject);
begin
BannerAd1.LoadAd;
end;
end.
----------------------------------------
Android Device Monitor上のログから関連部分を抜粋
----------------------------------------
05-24 06:27:45.756: I/Ads(5879): Updating ad debug logging enablement.
05-24 06:27:45.810: I/Ads(5879): Starting ad request.
05-24 06:27:45.811: I/Ads(5879): Use AdRequest.Builder.addTestDevice("65819E123B3D987E9A123AEA3C3D469E") to get test ads on this device.
05-24 06:27:45.832: I/Ads(5879): Please set theme of AdActivity to @android:style/Theme.Translucent to enable transparent background interstitial ad.
上記まで表示された後、例外で停止される。
例外ウィンドウの継続ボタンをクリックすると以下が表示される。(広告は正常に表示され、その後の広告更新も正常に動作)
05-24 06:27:45.925: W/Ads(5879): Invoke Firebase method getInstance error.
05-24 06:27:45.925: W/Ads(5879): The Google Mobile Ads SDK will not integrate with Firebase. Admob/Firebase integration requires the latest Firebase SDK jar, but Firebase SDK is either missing or out of date
05-24 06:27:46.153: W/Ads(5879): Update ad debug logging enablement as false
05-24 06:27:48.888: W/Ads(2313): App does not have the required permissions to get location
05-24 06:27:49.643: W/Ads(5879): Not enough space to show ad. Needs 360x50 dp, but only has 0x0 dp.
05-24 06:27:49.685: W/Ads(5879): Not enough space to show ad. Needs 360x50 dp, but only has 0x0 dp.
05-24 06:27:49.851: W/Ads(5879): Not enough space to show ad. Needs 360x50 dp, but only has 0x0 dp.
05-24 06:27:49.917: W/Ads(5879): Not enough space to show ad. Needs 360x50 dp, but only has 0x0 dp.
05-24 06:27:49.939: I/Ads(5879): Scheduling ad refresh 70000 milliseconds from now.
05-24 06:27:49.981: I/Ads(5879): Ad finished loading.
----------------------------------------
MLホームページ:
https://www.freeml.com/delphi-users
----------------------------------------------------------------------
freemlを運営するGMOメディア株式会社では、
2019年新卒採用の募集をしております。
【募集職種】エンジニア職/Webデザイナー職
説明会も開催中!下記よりアクセスしてください。
https://www.gmo.media/recruit/?utm_medium=freeml&utm_source=freeml
------------------------------------------------------[freeml byGMO]--
あなたの街のチラシがいつでも無料で見放題!
チラシをクリックしてチラシが拡大されたらポイントゲット♪
まずはかんたん登録♪ -ポイントタウン-
https://www.pointtown.com/ptu/rd.cgi?cid=8912
----------------------------------------------------------------------