AppSeedのアプリ開発ブログ

アプリ開発会社AppSeed(アップシード)開発担当のブログです。iOS、Android、Unity、Cocos2d-xなどアプリ開発関連のTipsや備忘録、アプリ開発に役立つ情報を発信します。

Android

【Unity】 DllNotFoundException: Unable to load DLL 'FirebaseCppApp'のエラー対処法に関するメモ

久しぶりにビルドしたUnity製のAndroid版アプリで、特定のボタンを押したらFirebaseへのログ送信を行うようにしていたのですが、以下のエラーが発生してアプリが動かなくなる状況が発生したので、今後の為にメモとして残しておきたいと思います。DllNotFound…

Admob広告は今後、アプリリリース時に表示できなくなりそう

先日、脱出ゲーム第2段「忍者屋敷からの脱出」をリリースしました!無事リリースはできたのですが、前回のアプリリリース時と同様にiOS版のAdmob広告が表示されない問題に直面してしまい、予定していたリリース日が1週間程度延びてしまう結果となりました..…

【Unity】FacebookSDK導入時につまづいた点まとめ

先日、Unity製アプリにFacebookSDKを導入したのですが、設定関連でエラーが発生して結構時間がかかってしまったので、今後のためにメモとして残しておきたいと思います。導入方法に関しては、SDKをUnityプロジェクトにインポートして、ドキュメントの通りに…

個人開発アプリのプレスリリースに関するメモ

先週末(12月5日)に脱出ゲームアプリMEMORYをリリースしたのですが、今回、初めての試みとして、プレスリリースをやってみることにしました。やってみた感想としては、やる価値結構あるなと感じたので、今後の為にメモとして残しておきたいと思います。

AdMobのポリシー違反はマジで気をつけた方がいい

今回、MEMORYのリリースにあたり色々と準備を進めていたのですが、AdMobのポリシー違反の影響をかなり受けてしまったので、今後の参考のために教訓を残しておきたいと思います。最初に結論を言っておくと、「AdMobのポリシー違反はマジで気をつけた方がいい…

【Unity】Android11対応中に遭遇したエラーと対処法に関するメモ

Android11がリリースされてから結構時間が経ってしまっていますが、最近ようやくAndroid11対応を行いました。今週1週間はほぼAndroid11対応に時間を割いてしまったので、今後の為に遭遇したエラーや、対処法などについてメモしておきたいと思います。Android…

【Unity】Android SDK絡みでエラーが出てビルドできない場合の対処法に関するメモ

UnityでAndroid版をビルドした際に遭遇したAndroid SDK絡みのエラーに関するメモ。Unity バージョン2019.1.0f2を2019.3.12f1にアップデート。target SDK Android 9.0。min SDK Android 6.0。Unityバージョンアップデートによる影響なのか、しばらくビルドし…

【Unity】Google PlayのAndroidアプリ100MB制限の対処方法に関するメモ

最近Unityで開発したAndroidアプリがGoogle Playの100MB制限に引っかかってしまい、apkのアップロードに失敗してしまいました。調べた結果、対処方法があったので今後の為にメモとして残しておきたいと思います。最近知ったのですが、Google Play Consoleに…

iOSとAndroidで非同期処理する方法

iOSとAndroidで非同期処理する方法に関するメモ。重い処理や画像の読み込みを行う場合、メインスレッドで行うと固まって見えたり、メモリリークが発生する可能性があるので、そうゆう処理は非同期で処理した方がよさげ。

【Unity】アダプティブアイコンに対応する方法

AndroidはAndroidOS8.0以上からアダプティブアイコンが採用されるようになりました。今まではアプリアイコンに関してそこまでこだわりないので対応しなくていいかなと思ってましたが、どうやらAndroid9.0以上の端末ではアダプティブアイコンに対応していない…

【Android】アプリ内課金をテストする為の手順

Androidアプリでアプリ内課金をテストする方法に関するメモ。アプリ内課金は今まで何回もやってますが、結構忘れてしまうことが多いのでまとめておきます。定期的なGoogle Play側のアップデートにより手順が変更される為、もしうまくいかない場合は手順をア…

Firebase Crashlyticsはリリース後のアプリ不具合調査にかなりおすすめ!

最近、FirebaseのCrashlyticsをアプリに導入してみたら、リリース後の不具合調査でかなり使えることがわかったので、メモとして残しております。最近、受託開発しているアプリの大幅リニューアルを行いました。状況的には以下のような感じでした。社内デバッ…

【Android】アプリ内で端末の操作音(カチカチ音)を鳴らさないようにする設定

私が開発しているAndroidアプリで一部のユーザーから「アプリの操作中にカチカチ音がなる」「変な音が出るので止めて欲しい」というようなレビューがありました。カチカチ音が再現できるか試してみたのですが、私の端末では再現できませんでした。気持ち悪い…

【Android】「The application may be doing too much work on its main thread.」の対処法

Androidアプリを開発していて、どうもアプリの挙動がおかしいので、Logcatをみてみたら、以下のようなログが出力されていました。The application may be doing too much work on its main thread. 調べてみると、このようなログが出力される場合、メインス…

【Android】HttpClientをAndroid9以上(targetSDK28)で使う方法

ogle Playの規約変更により2018年11月からAndroidアプリをアップデートする場合、targetSDK28以上にしないといけなくなりました。初版リリースから1年くらいのアプリであれば大した話ではないかと思うのですが、仕事で運用しているアプリは5年前くらいに作ら…

【Android】TextViewを1行に収める、フォントを自動でリサイズさせる方法

Androidアプリ開発でTextViewに長文を入力すると、表示が切れてしまったり勝手に改行されたりしてしまうので、TextViewの表示を適切にする為のメモ。TextViewに入力した文字列が長文な場合、TextViewのサイズに収まりきらないと表示が切れてしまう場合があり…

Android 9.0で「No Network Security Config specified」エラーでHTTPリクエストが失敗する場合の対処法

Androidアプリ開発をしていた時に、下記のエラーが発生してHTTPリクエストが失敗してしまうことがあったので、今後の為にメモ。D/NetworkSecurityConfig: No Network Security Config specified, using platform default W/System.err: java.io.IOException:…

Android Studioで作成したエミュレーターを削除する方法

最近久しぶりにAndroid Studioを使ってみたら、過去に作ったエミュレーターが大量に残っていました。整理しようとしたのですが、エミュレータを削除する場所が少しややこしかったので今後の為にメモとして残しておきたいと思います。いつも、Android Studio…

【cocos2d-x】Android版の64bit化に関するメモ

2019年8月1日からGoogle Playで公開するアプリが64bit化必須になったことで、アプリ開発の仕事でAndroidアプリの64bit化を行う機会が増えました。先日、cocos2d-xで作られたアプリのAndroid版を64bit化する事があったので、今後のためにメモとして残しておき…

【Android】apkが64bit対応済みアプリか確認する方法(Mac)

2019年8月1日からGoogle Playで公開するアプリは64bit対応が必須となりました。仕事でアプリの64bit対応を何回かやったのですが、一応64bit対応の方法を調べてやってみたものの、出力されたアプリがちゃんと64bit対応済みのアプリか?はぱっと見だとわかりま…

【Unity】Androidの64bit対応版アプリをアップロードしても32bitアプリとして認識される場合の対処法

2019年8月1日からGoogle Playで公開するアプリは64bit対応が必須になったらしいです。Googleが以前から告知していたことや、ちょっと前にapkアップロード時に警告が出るようになってきたこともあり、ちょっと前にUnityで作ったAndroidアプリを64bit対応にす…

アプリから端末の広告IDを取得する方法(iOS,Android)

仕事で端末の広告IDを取得する場面があったので今後の為にメモ。端末の広告IDについて。まず、端末の広告IDというのはどのようなものかというのは以下の記事が参考になりました。つまり「広告ID」というのは、「端末を識別する為のユニークなIDで、再生成可…

【Android】アプリからgmailにテキストを自動送信させる方法(サーバーを使わない)

先日、サーバーを使わないでアプリからgmailにテキストを自動する方法を紹介しました。前回はiOS版だったので、今回はAndroid版です。Androidの場合はjavamailというライブラリを使用します。上記の例だと、画面上のボタンを押したタイミングで、EditTextに…

【Android】AdMobで 「Ad failed to load : 3」のエラーが出て広告が表示されない場合の対処法

AndroidアプリにAdMobを組み込んだ際、以下のようなエラーが出て広告が表示されません。今回はこのエラー内容と対処法についてのメモです。App does not have the required permissions to get location.SDK version: afma-sdk-a-v16187999.15300000.1 Ad fa…

Android Studioで公開用apk署名用のキーストアを作成する方法

新しくKeyStoreを作成する必要があったので、Android Studioで作成してみました。開発ツールでキーストア作成したのはEclipse時代以来ですが、ターミナルで作成するのに比べると、GUIが用意されている分、わかりやすい感じがします。Android Studioで公開用a…

AndroidでUIを組むならLinearLayoutのweightSumを使うと早いかも

iOSの場合、XcodeのGUIツールで簡単に組むことができますが、AndroidはXmlで組む必要があるので、iOSの比べると少々面倒です。(AndroidもGUIツールで組めるけど、結構癖がある気がする)個人的にはAndroidでUIを組む時はLinearLayoutのweightSumのが一番組…

【Android】アプリ内で動画を再生する方法(Java)

前に書いた、iOSでアプリ内で動画を再生する方法のAndroid版。ネットで調べた方法だと、動かないものが結構あったので、意外と時間がかかった。流れとしては、元のActivityから遷移したタイミングで動画を再生して、再生完了時点でActivityを終了させて元のA…

【Unity】Androidアプリビルド時にライブラリの競合エラーが発生した際の対処法に関するメモ

D8: Program type already present: android.arch.core.internal.SafeIterableMap Unityで作ったアプリに広告SDKをいれたらAndroidアプリビルド時に上記のようなエラーでビルド出来ない状態になってしまいました。エラー内容や変更点から考えるとSDK追加時に…

【Android】アルファ版をリリースする場合に登録しなきゃいけない項目まとめ

Unityで作ったアプリのAndroid版をアルファ版としてリリースしようとしたのですが、アルファ版をリリースする場合でも登録しなきゃいけない項目が結構あったので備忘録として残しておきます。Androidアプリをアルファ版として公開するためにGoogle Play Cons…

【Unity】CodelessIAPは結構罠が多いから自分でスクリプト書いた方が確実で速いと思うよ

最近Unityでアプリ内課金を実装するために「CodelessIAP」を使ってみました。簡単に実装できそうということで試してみましたが、結構罠があるので注意が必要そうです。今回はUnityのCodelessIAPでアプリ内課金を実装した感想、つまづきポイントをまとめてお…