そういうのがいいブログ

アプリ個人開発 まるブログ

アプリ開発覚え書き

アプリが削除されました 原因と対策

f:id:marumaro7:20200704062043p:plain

アプリ説明欄に余計なことは書くな!

今回言いたいのはそんな話です。

アプリ削除は突然に

グーグルさんから突然こんなメールが。。。 f:id:marumaro7:20200704063059p:plain

え!?!?

削除・・・

事前警告無しですか?

ばっさりいかれました。。。

削除されたアプリ play.google.com

このアプリは一番最初に作ったアプリで
Unityでは無く、Android Studioで作ったアプリになります。
今更いわれても修正どうしよって感じでした。

原因を考えてみる

「アプリに関する問題」のところを見ると

どうやらアプリ説明欄が不正だということみたいでした。

なんか変なこと書いてたっけ〜?と考えてみたところ、、、

思い当たるフシが...

それは...



アプリ説明欄で他のアプリの宣伝していました。



すいません!私が全部悪いです!

思えば書いてました書いてました!

↓こちら削除されたストア説明文

進化した視力回復アプリ「3分視力回復 「スマホ老眼対策」「近視対策」「遠視対策」」 もよろしくお願い致します。 ※「Maruyu Apps」で検索いただくと表示されます。

2つの丸が3つに見えるように目の焦点を調整し続けるだけで視力が回復するアプリです。

2つの丸は徐々に離れていきます。

◆設定 丸の初期位置、時間はお好みで設定できます。

◆オススメトレーニング回数  3分×2セット



完全にやっちゃってます。。。

宣伝をいれた経緯としては、

1.Unityでも↓視力回復アプリを作る play.google.com

2.最初の視力回復アプリより、すごく機能も増やしているし、使いやすくしたから
 最初のアプリよりはダウンロードされるはず!

3.最初のアプリより全然インストールされない

4.よし!最初のアプリを見に来てくださった方にこのアプリをアピールしよう!

という感じです。

アップデート審査は1時間程で終了したので問題無いと思ってました。

対策

グーグルさんから提示された内容 f:id:marumaro7:20200704072935p:plain メタデータに関するポリシーをよく読んで、
ストア文から宣伝の文言を削除!

→審査後、無事ストアに再表示されました!

今回学んだこと

Androidアプリでは、審査が通ったとしても、ポリシーに準拠していないと突然削除される。
・アプリ説明欄にアプリ内容と無関係なことは書いてはいけない。

しかし、ストア文変更後、半年後にくるとは、、、

Unityアセットストア 購入方法

f:id:marumaro7:20200626052154p:plain

アセットストアセールだったので購入!

私ごとですが、この度、初めて有料アセットを買ってしまいました!
15アセット総額466.91ドルが29.99ドル(93%OFF)と言われたら買ってしまうやろ。。。。
税込み約3500円でこれだけのアセット買えるなら絶対お得のはず!
3Dモデルがずっと欲しかったので良いタイミングでした。

f:id:marumaro7:20200626052657p:plain

Fantastic Fantasy Mega Bundle - Asset Store

いざ買おうと思っても、情報入力画面の設定がよくわからなかったので備忘録に残します。

購入手順

1.ほしいアセットをカートに入れる

Unity Assset Storeでアセットをカートに入れる。>カート画面でチェックアウトボタン押す。

2.個人情報入力

f:id:marumaro7:20200626063313p:plain

奈良市青山の場合

住所は適当でも良い気がしますけど、一応 本当の住所いれました。

3.クレジットカード情報入力

使用可能なクレジットカードは以下のものです。 f:id:marumaro7:20200626063621p:plain

f:id:marumaro7:20200626063913p:plain

4.確認事項チェック

f:id:marumaro7:20200626064115p:plain

チェック後、「Pay now」を押して完了です。

時短になれば幸いです。

First nameって名前だっけ?名字だっけ?
Postal codeってなに?
とかいろいろ調べてたら時間とられちゃったので まとめました。

(こんなとこでつまづくの私だけ?笑)

この記事で貴重な開発時間を少しでも節約できたなら嬉しいです。

デバッグ用に中古iphone8購入! 注意したこと

f:id:marumaro7:20200626040045p:plain

デバッグ用に中古iphone8購入しました!!

注意したこと
・パソコンと接続して認識される
・タッチパネルに反応しない場所が無いこと
・外カメラ、内カメラが通常使用可能であること(AR、VR用)
Wifiが使用可能であること

他に買ったもの
・アクティベート用Sim

iphone5cが使えない

iMac家に届いてから1週間。

よしデバッグするかー!

と昔使っていたiphone5cを引っ張り出してきて

アクティベート用Sim購入→アップデート
(「Simなし」の状態ではiOSのアップデートできないみたいです。)
そして、いざデバッグ

動かない!!

ですよねー。古すぎで嫌な予感はしていました。
metalってやつが無いってXcodeさんに怒られました。

購入するiphone機種選定

今後ARゲームも作ってみたいなーと考えてたのでARKitが使えることが最重要項目でした。
ARKithはiphone6sからサポートしているようなのでiphone6s以降で選定

iphone6s購入でも良いかなと思ったのですが、
新iphoneSEが発売されてiphone8の価格が急落したので、
コスパが一番良さげなiphone8を選定しました。

中古販売サイトに1週間張り付く

売れないアプリ開発者なので、
できるだけコストは抑えたい。
ということで、
中古販売サイトに1週間張り付きました。笑

探した用件はこちら
・画面割れは妥協
・パソコンと接続して認識される
・タッチパネルに反応しない場所が無いこと
・外カメラ、内カメラが通常使用可能であること(AR、VR用)
Wifiが使用可能であること
・予算感13000円

14,350円で購入!!

ずっと張り付いていた結果、
探している時間がもったいなくなり、
予算からちょっとはみでましたが、14,350円で購入

画面はそこそこ割れています。。。
ずっと圏外の端末です。(Wifiしか使わないから逆に安くなってくれてありがとう)
デバッグだけにしか使わないからOK!!!
f:id:marumaro7:20200626043454p:plain:w200

iOSアプリ環境構築完了!

思わぬ出費でしたが、
これでめでたくアプリ開発環境が整いました。
ぱちぱち!!

【Unity】AdMobさんに怒られた話

f:id:marumaro7:20200625011246p:plain

広告は一本道にするな!!!

これが今回のできごとから学んだすべてです。


AdMobさんに怒られた

私、アプリの広告はAdMobさん一択で運用しています。

そしてある日、収益確認しにページに訪れました。

すると、、、

f:id:marumaro7:20200625011829p:plain

ぎゃー!!!なんか指摘されてる!!!

内容はこれでした↓

f:id:marumaro7:20200625011924p:plain

簡単にいうと、リワード広告を強制的に見せるの辞めなさいってことでした。

たしかに、今回対象のアプリ「JobCheck」は設問を終えるとボタンが1個だけで
これを押すと広告が出るようになっています。

f:id:marumaro7:20200625013021p:plain:w200:left
















え??インタースティシャル広告は使ってますけど、リワード広告使ってないんですが、、、、

リワード広告って動画見るのと引き換えにアイテムとかもらえるやつでしょ??

誤解ですかー?

試しに言い訳してみる

f:id:marumaro7:20200625013802p:plain:w400

結果、、、却下( ^ω^ )

仕方ないのでアプデ

・ボタンデザインすんのめんどくさいな〜
・リワード広告的なテキストにしてるからだめなんかな〜?
ということで広告に関するテキストを消してアプデしました。
そして、審査をリクエスト!!



またも却下(>_<)

ちゃんとアプデします!

指摘された通りに選択肢を追加するためボタンを設置しました。

f:id:marumaro7:20200625014715j:plain:w200
でも、診断直前でやめるボタンを提示って不自然じゃない?
ラソンをゴール直前まで走ってきた人に
「リタイヤする?」って聞いている感覚なんですが。。。

一瞬とはいえ画面いっぱいに広告突然でてくるからイラッとされそう。

無事に審査通過!

めでたく?この内容で審査通りました!!
よかったよかった。

今回の件で学んだこと

インタースティシャル広告でも強制的に表示するようになっているとまずいみたいですね。
シンプルなアプリを作るときに起こりそうなので、これから気をつけます。

厳選!私が実際に役に立ったUnity,iOS おすすめ動画講座【随時追加】

f:id:marumaro7:20200624224539p:plain

はじめに

みなさんプログラミングの勉強どうやって進めていますか??

私のおすすめは断然これ!


Udemy です。

友人から教えてもらったのですが、一流講師の講座が時間を選ばず受けられます。

セール時には1000円台から受講できるので本を買うより安くコスパ最強です。

エンジニアにマンツーマンで教えてもらおうと思うと、
1時間2500円が相場なので、それを考えると定価で購入してもお得だと思ってます。
とはいうものの、副業するならコストはできるだけ抑えたいので購入はセール時が狙い目です。

質問し放題に加えて、30日間返金保障なので安心して購入できます。

Udemyというか動画教材の欠点としては、
あとで見返すときに「確認したいところがわからない」
ということがあるので、Qiitaやブログなどでメモを残しておくと良いかもしれません。

Udemyでは細かくセクションごとに分かれ探しやすくなっていますが、
それでも不思議、私は探す笑

私が実際に役に立ったUdemyのおすすめ講座を紹介します。

Unity教材

Unity ゲーム開発:インディーゲームクリエイターが教える C#の基礎からゲームリリースまで【スタジオしまづ】

Unity ゲーム開発:インディーゲームクリエイターが教える C#の基礎からゲームリリースまで【スタジオしまづ】

【感想】
Unity教材で迷ったらこれで間違いなし! marumaro7.hatenablog.com ↑こちらの記事でも紹介しましたが、Unityの基礎だけでなく、
超つまづきやすいAndroidiOSのリリース手順まで解説しています。
なんですかこれ、、、神ですか?

Unity3D入門の決定版!RPG開発の基本をUnityインストラクターと共に進めるハンズオンコース【スタジオしまづ】

Unity3D入門の決定版!RPG開発の基本をUnityインストラクターと共に進めるハンズオンコース【スタジオしまづ】

【感想】
Unityで3Dをやりたいならこれ!
基礎から学ぶので初心者でも安心♪

Unityゲーム開発入門:Unityインストラクターが教えるマリオ風2Dアクションゲームを作成する方法【スタジオしまづ】

Unityゲーム開発入門:Unityインストラクターが教えるマリオ風2Dアクションゲームを作成する方法【スタジオしまづ】

【感想】
自分でマリオみたいなゲームが作れる幸せ!
マリオメーカーよりも自由に!

[初心者向け] Blender 2.8でアニメーションを作成して Unity で動かすまでの30分講座

[初心者向け] Blender 2.8でアニメーションを作成して Unity で動かすまでの30分講座

【感想】
3Dモデルに命を吹き込む!
Unity×Blenderで制作の幅が広がります。
Blenderのインストールは事前に必要です。

Unity2Dパズルゲーム開発入門:Admob広告実装と高速にスマホゲームを量産する実践テクニック講座【スタジオしまづ】

Unity2Dパズルゲーム開発入門:Admob広告実装と高速にスマホゲームを量産する実践テクニック講座【スタジオしまづ】

【感想】
とにかく量を作る!
なるほど量産テクニックです。

Unityインストラクターが教えるシャドウバースのような本格2Dカードゲーム開発コース【スタジオしまづ】

Unityインストラクターが教えるシャドウバースのような本格2Dカードゲーム開発コース【スタジオしまづ】

【感想】
Unityのチュートリアルをなにかしらやったことある人向けです。
カードゲームの基礎はここに。

iOS教材

【iOS13対応】未経験者がiPhoneアプリ開発者になるための全て iOS Boot Camp

【iOS13対応】未経験者がiPhoneアプリ開発者になるための全て iOS Boot Camp

【感想】
ベストセラーだけあって初心者でもわかりやすい
Firebaseとの連携も解説されているのが個人的に嬉しいポイントです。

おわりに

Unity教材全部スタジオしまづやないか!と思いました?
だってわかりやすいんだもの、、、

【Unity】 iOSアプリリリース手順5 [2022年]

f:id:marumaro7:20200623230301p:plain

はじめに

Unityを使ったiOSアプリリリース手順(全5回)
この記事はいよいよ5つ目!最後の記事です。
申請に必要な情報を入力していきます。

・App情報
・価格および配信状況
・Appのプライバシー
・提出準備中
の入力を行います。
f:id:marumaro7:20210505070741p:plain


手順1の記事はこちら
marumaro7.hatenablog.com

App情報

App情報の入力 枠内を入力

Banners_and_Alerts_と_App_Store_Connect.png

<2020年8月追記>
コンテンツ配信権の場所が変更されていました。
ご自分のアプリにあてはまる方を選択
素材を使用している場合は「はい」

コンテンツ配信権



価格および配信状況

価格を決定
配信地域を設定 Banners_and_Alerts_と_App_Store_Connect.png

2021.7.22 追記)
税金カテゴリが追加されました。
編集をクリック

f:id:marumaro7:20210722040253p:plain:w300


設定画面が出てきますので、税金カテゴリを設定してください。
アプリがどのカテゴリに属するかはこちらをご確認ください。

f:id:marumaro7:20210722040611p:plain:w400

Appのプライバシー

プライバシーポリシーのリンク先記入と
アプリのデータ取扱についてあてはまるものを記入します。 f:id:marumaro7:20210505071428p:plain

提出準備中

スクリーンショットをアップロード
言語別にスクリーンショットを分けるのであれば、
右側の英語(アメリカ)の部分をクリックして言語を変更してください。
Androidみたいに融通きかないのでスクショサイズは厳守です!

iOSスクショサイズ

Banners_and_Alerts_と_App_Store_Connect.png


ちなみに私はFigmaでこんな感じでサイズ別で作成してます。(英語版と日本語版)
※なぜかJPG形式でしかアップロードが受け付けられないので注意です。
 PNG形式でもOKってかいてあるのに...私だけ?
iosスクショ一覧






・プロモーション用テキスト
 いつでも変更できる宣伝文。
 期間限定キャンペーンとかしない限り使用しない。

・概要
 アプリ説明文

・キーワード
 アプリに関わるキーワード入れておく

・サポートURL
 ホームページとかないならツイッターでOK

Banners_and_Alerts_と_App_Store_Connect.png


・ビルドデータ選択
アップロードが完了後アプリを選択できる
アップロードが完了すると
ビルドの文字の横に+のマークが出現するので+マークをクリック
注意:Xcodeのアップロードが完了しても
  「ビルドデータ選択」にはすぐ反映されないみたいです。
   アップロード完了後1時間程でApple側からアップロード完了メールが届き
   +のマークが出現しました。
iosリリース ビルド



ビルドデータを選択すると輸出コンプライアンス情報の選択画面がでてきます

ATSやHTTPSを使わないなら「いいえ」
参考:https://fortee.jp/iosdc-japan-2019/proposal/a972c654-1928-47e7-ba2a-24eb5152fecc iosリリース輸出コンプライアンス情報




・アイコン画
 アップロードされたビルドを選択すると勝手にアップされる
・バージョン
 リリースバージョンを入力
・Copyright
 著作権 リリース年と自分の名前でもいれておく

Banners_and_Alerts_と_App_Store_Connect.png

     
 
・年齢制限指定
 編集で自分のアプリにあった選択をする
 
 面食らうのは無制限のWebアクセス
「無制限のWebアクセス」は UIWebView, WKWebView, SFSafariViewController などを使っていて、
 インターネット上のWebページを表示できて、
 リンクも適当に辿れるようだと「はい」にチェックをつける必要がある。
  その場合年齢レーティング17+になる。

・サインイン情報
 ログインが必要なアプリだと情報を入れる必要有り

・連絡先情報
 名前(ローマ字)   名字(ローマ字)
 電話番号(+81番号)   メールアドレス
 

 +81は日本にかける時頭につける番号

・メモ
 疑問に思われそうなことはコメントを入れておく
Banners_and_Alerts_と_App_Store_Connect.png

・広告ID(IDFA)
広告を使うなら「はい」

下記にチェック入れる 
- App内で広告を出す
- iOSの「追跡型広告を制限」設定
iosリリース 広告ID設定  

審査へ提出

内容確認して「審査へ提出」ボタンを押して終了です!!!

Banners_and_Alerts_と_App_Store_Connect.png

<2022年2月追記>
少しだけ変更になりました。
「審査へ提出」から「審査用に追加」となり提出までワンステップ増えました。 f:id:marumaro7:20220210042420p:plain

「App Reviewに提出」で申請完了です!
f:id:marumaro7:20220210042816p:plain

申請後、審査待ちとなります。
f:id:marumaro7:20220210042936p:plain:w200

お疲れ様でした!!!!!

<提出後の流れを追記>
1.審査待ち
提出するとまず下記のメールが届きます。
The status of your (iOS) app, アプリ名, is now "Waiting for Review"
(The status of your (iOS) app, アプリ名, is now "Ready For Review"も
一緒に届いていると思います。
こちらは「審査用に追加」を押したタイミングで送信されているはずです。)


2.審査中
審査中になると下記のメールが届きます。
The status of your (iOS) app, アプリ名, is now "In Review"

2.5.問題有り
 アプリに何か問題があると下記のメールが届いて、修正内容を指示されます。
 New Message from App Store Review Regarding アプリ名

3.承認
アプリの審査が終了し、承認されると、下記のメールが届きます。
 App Store Connect: Version ○.○.○ (○) for アプリ名 has completed processing.
 ※○には数字が入ります。
これで公開完了です!

iOSアプリリリース全手順リンク

手順1

marumaro7.hatenablog.com

手順2

marumaro7.hatenablog.com

手順3

marumaro7.hatenablog.com

手順4

marumaro7.hatenablog.com

【Unity】 iOSアプリリリース手順4 [2022年]

f:id:marumaro7:20200623230301p:plain

はじめに

Unityを使ったiOSアプリリリース手順(全5回)
この記事はそのうちの4つ目の記事です。

手順1の記事はこちら
marumaro7.hatenablog.com

App Store Connectでの作業

アプリのデータ受け入れ先を作ります。

App Store Connect

マイAppを選択
f:id:marumaro7:20200624003041p:plain

新規Appを選択
f:id:marumaro7:20200624002926p:plain


プラットフォーム:iOS
名前:アプリの名前 ストアに表示される名前
プライマリ言語:メインの言語 海外展開なら英語(アメリカ) 日本のみ対応なら日本語を選択
バンドルID:選択式 アプリのバンドルIDを選択
SKU:自分が識別できる名前(好きな名前) 
App_Store_Connect.png


これでアプリのアップロード受け入れ先を作れました。
残りのApp情報はアップロード中に入力します。

ビルド

Unityでアプリのビルドをします。

1.ビルドセッティング

 iOSに変更

2.プレイヤーセッティング

 ・Company Name
 ・Product Name(任意)
 の設定

3.アイコンの設定

アイコンの設定を確認

4.other setting

 ・Bundle Identifier
 ・Vertion
  1.0にする (アップデートのたびに数字増やす)
 ・ビルド(番号)
  1にする (アップデートのたびに数字増やす)

(この先Xcodeで署名設定がうまくいかなかったらやっとく)
 ①.自動的に署名にチェック
 ②.署名チームIDに AppDeveloperのIDいれる


スクリーンショット_2020_06_07_8_33.png

署名チームIDの場所
Account_-_Apple_Developer.png

5.ビルド

ビルドボタンを押してXcodeファイルを作成します。

Xcodeでアップロード

1.Xコードのファイルを開く

iOS_ColorInvaders.png



<2020年8月追記>
アプリタイトルのローカライズ(翻訳)をされる方はこのタイミングで行ってください。
Xcodeで設定します。意外と簡単です。
marumaro7.hatenablog.com

<2021年 5月追記>
ATT対応された方はこのタイミングでXcodeの設定をしてください。

marumaro7.hatenablog.com


2.エラーの解消

注意マークをクリック
Unity_ゲーム開発:インディーゲームクリエイターが教える_C_の基礎からゲームリリースまで【スタジオしまづ】___Udemy.png

エラ-内容をクリックして直していく
Xcodeが勝手に直してくれる
直すのはプロジェクトの方だけで大丈夫

3.TARGETS>Unity-iPhoneを選択

 選択するだけです。

4.Generalタブ

 下記の項目がUnityと合っているか、確認。
 アプリ登録で設定したバンドルIDとBundle Identifierが合っている必要有り。 
 ※[Unity] iOS リリース手順2の通りやっていれば問題ない
 ・Display Name
 ・Bundle Identifier
 ・Version
 ・Build

f:id:marumaro7:20200624001649p:plain


5.Signing&Capavillitiesタブ

 Automatically manage signingにチェック
 Team:自分のIDを選択
 provisioning Profile:何もしなくていい
f:id:marumaro7:20200624001803p:plain

6.もしSigningのところでプロファイルが競合してる的なエラーがでたら...

自動的に署名にチェックをいれて
スクリーンショット_2020_06_07_8_33.png
(画像の「バージョン」の数字はさっきの画像と整合とれてませんが気にしないでください。。。)

署名チームIDにappleデベロッパーサイトの
[Membership]>Team IDをいれてビルドしたらうまくできた

Account_-_Apple_Developer.png

7.アップロードファイル作成

Generic iOS Deviceを選択
Unity_ゲーム開発:インディーゲームクリエイターが教える_C_の基礎からゲームリリースまで【スタジオしまづ】___Udemy.png

XcodeメニューのProduct→Archiveを選択 ←時間がかかる
Unity_ゲーム開発:インディーゲームクリエイターが教える_C_の基礎からゲームリリースまで【スタジオしまづ】___Udemy.png

アーカイブが成功すると、ファイルをアップロードする画面が表示される。
もし、表示されなければ、Windows→Organizerを選択すれば、表示される。

Archiveエラーメモ
下記のエラーが出た時はXcodeをアップデートしたら解決
could not reparse object file in bitcode bundle: 'Invalid bitcode version (Producer: '1200.0.32.2.0_0' Reader: '1103.0.32.62_0')', using libLTO version 'LLVM version 11.0.3, (clang-1103.0.32.62)' for architecture armv7



Validate Appを選択 Unity_ゲーム開発:インディーゲームクリエイターが教える_C_の基礎からゲームリリースまで【スタジオしまづ】___Udemy.png

基本チェックして進むだけ Unity_ゲーム開発:インディーゲームクリエイターが教える_C_の基礎からゲームリリースまで【スタジオしまづ】___Udemy.png

Automatically manage signinigを選択 (うまくいかなければマニュアルの方を選ぶ必要あり) Unity_ゲーム開発:インディーゲームクリエイターが教える_C_の基礎からゲームリリースまで【スタジオしまづ】___Udemy.png

処理が終わったらValidate押す Organizer.png

「Done」 Organizer.png



右側にあるDistribute Appを選択

iosリリース4

iOS App Storeを選択
→基本Next押してくだけ(下記画像参照)
あとは祈るのみ!!!🙏

アップロードされてappleからメールきたら中身確認すること。
アップロード処理は完了されているけどエラーで出来てないとか言われる。

アップロード中に手順5のApp情報の入力を行うと良いです。 スクリーンショット_2020_06_07_15_41.png

Organizer.png

スクリーンショット_2020_06_07_10_13.png

Organizer.png

スクリーンショット_2020_06_07_10_15.png

Organizer.png

結構待ちます!私のよわよわ回線だと2時間くらいです。
寝る前にアップロードするのがオススメです。

iosリリースアップロード完了

ちなみに...

アーカイブのデータは溜まっていくようなので定期的に削除した方が良いです。

参考
kaora-entertainment.hatenablog.com

次 手順5

あとちょっと!
marumaro7.hatenablog.com

iOSアプリリリース全手順リンク

手順1

marumaro7.hatenablog.com

手順2

marumaro7.hatenablog.com

手順3

marumaro7.hatenablog.com

手順5

marumaro7.hatenablog.com