HOME > Swiftでアプリ開発
Swift言語がAppleから発表されてからコツコツ検証していましたが、やはりObjective-CよりもかなりSwiftが使いやすいです。型宣言が必要ない 箇所もあったりとPHP経験者だった私は特にズボラでしたので開発しやすいです。 初心者の方ならSwiftを強くオススメいたします。そんなSwiftをつかってアプリを開発や広告設置が意外と簡単に作成できましたので、 共有できればと思います。
広告収益方法が少しはイメージできるよう説明します。開発環境の準備、AppleDeveloper登録、XCodeの使い方、制作方法、アプリ申請、から広告収入等を記載いたします。
目次
まず開発環境のXCodeを利用する為には Macが必要です。最新のMacであればもちろん問題なく動作しますので、もしお持ちでなければ購入する必要があります。 安い買い物では無いです、、、私がアプリ開発(Objective-C)として最初に購入にしたのはMacBook Pro (13-inch, Mid 2009) 2.26 GHz Intel Core 2 Duo。今だと古くなってきていますが、 自己投資と自分自信に言い聞かせて、、、約10万弱で気を引き絞って購入。それからObjective-Cをそのマックで開発していましたが、特に現在の2014年までの約5年間、問題なく開発できています。
現在はそのMacBookProにSSDを搭載してメモリは8GBにバージョンアップさせていますが、
快適に動作しています。(SSDはPCの起動や終了が劇的に変わるので、Swift開発で作業に目安がついた方は導入を強くオススメいたします。)
SSDを楽天で確認するにはこちらから
XCodeはAppleから提供されている開発環境です。これが無いと開発が何も始まらないのでダウンロードします(無料)。
こちらOSとXCodeのバージョンに注意です。Appleの戦略だと思うのですが、XCodeがバージョンが上がるのと MacOSのバージョンが上がるのを平行させていかなければXCodeが古くなって利用できなくなってしまいます(私は不備がでる可能性があるのでOSをバージョンアップさせたくなかったのですが、 iPhone4->5->6対応と順に古いXCodeではできなくなり、結局OSを最新にアップデートする為に、開発を一時中断したことがあります。つきましては、OSは 可能な限り常にアップデートして最新のものにしておくことをオススメいたします。。今開発したい!と思い立った時に動けないもどかしさがありました。。。)
開発環境もそろえたら次はDeveloper(iOS Developer Program )登録です。ここには年会費で約年間1万必要です。私が3年前に開発を開始してから若干上下していた覚えがありますが年間1万程度です。登録すると、1年後の更新時期には「英語」でAppleから連絡がきますので注意してください。更新時期を超えてもすぐにはアプリは停止されませんが(私は気づかず数日放置していました)
Appleからの通知はコマメに確認しておきましょう。
さて、登録ですが、こちらのAppleサイトから登録していきます。このページ、見るたびに変わっている気がします、、、、
iOSデベロッパプログラムの箇所まで移動ー>支払いー>登録の一連作業を実施してください。この登録が無いとアプリリリースはできませんので本気で開発する人は必要です。プログラムを触りたいだけであればXCodeのみのインストールで無料でも可能です。ちなみに、登録へのページ画像は今はこんな表示でした(2014/12/12)
個人登録、法人登録はそれぞれ異なっていて、法人の場合はSWIFTコードの取得が必要だったり、電話で一度確認されたりと 少し手間がかかりますのでもし事前に登録が決まっている場合は前もって実施することをお勧めいたします。
沢山参考サイトがありますので三つほど抜粋しておきます:
プログラムへの登録
ひさびさにiOSデベロッパー登録やってみた(・ω・)ノシ (1)Apple ID作成Add Star
iOS Developer Programへの登録 (購入まで)
開発にあたって参考にするサイトがあれば便利です。このサイトを運営し始めてまた数ヶ月ですが、その中で特に参考になったサイトを三つ以下提示しておきます。
1: これだけは外しては置けないAppleの公式開発リファレンスサイト
The Swift Programming Language
2: サンプルが沢山!ソースをある程度読める人にオススメです。Swift Docs
3: 詳しい説明付きでコメントも豊富。密度が濃くわかりやすい記事多数です。Qiita
3: まとめサイト。Swift 時代の新定番!iOS アプリ開発で使えるオススメのオープンソースライブラリまとめ
便利に開発されているオープンなクラス群はぜひ利用しましょう。
名前 | 機能 |
---|---|
MBProgressHUD | プログレス表示ヘルプ |
MRProgress | プログレスの表示ヘルプ |
CRToast | トースト表示。ステータスバーやナビゲーションバー上通知ビューを簡単に作成できるライブラリになります。 |
TTTAttributedLabel | ラベル装飾。書式の混在したUILabelを作成できるライブラリ。 |
OHAttributedLabel | ラベル装飾。上のTTTAttributedLabelと同等の機能と思われます。 |
LTMorphingLabel | ラベルの装飾&アニメーション |
PSCollectionView | Pinterest的な表示 |
JSQMessagesViewController | 標準 Message アプリ風 ViewController |
JASidePanels | ドロワーメニュー。端からビューんと表示される機能実装のフレームワーク。 |
QuickDialog | 設定画面を簡単に準備できちゃいます |
Pop | アニメーション |
FlatUIKit | フラットUIのテーマ |
PureLayout | 難解なAutoLayoutの記述の簡素化 |
開発しているとビジュアルを変更したくなります。そんな時に必要になってくるのはコントロール群の画像素材。自分でつくるには大変で仕方がないので楽をしましょう。 そのまま使わないまでもPhotoshopのデータで自分らしいカスタムコントロールをつくるのが効率的です!いい意味で手を抜いて 先人の知恵をかりてみましょう:)
iOS 8 GUI PSD (iPhone 6)
Best Collection of iOS 7 PSD Templates for iPhone App Developers
A Collection of Free iOS 7 GUI Kits and Templates
70 Best Free Photoshop PSD UI Kits / Wireframes for Web & Smartphone Apps
Graphics Web Design & Development News
Amazing UI Kit PSDs for Smartphones
まず言語機能とはなんだ?とのことですが、JavascriptがJqueryで標準の関数を別の方法で呼び出せるような仕組みです
名前 | 機能 |
---|---|
Dollar.swift | Lo-DashやUnderscore.js的な記述を可能にするフレームワーク。 例)$.at(["ant", "bat", "cat", "dog", "egg"], indexes: 0, 2, 4) => ["ant", "cat", "egg"] |
ExSwift | こちらもUnderscore.jsライクにただし既存型の拡張 例)at (indexes: Int...) -> Array |
解像度はiPhone端末によってそれぞれ違います。昔はAndroidは解像度が多彩ですが、iPhoneは単一で 開発しやすい状態でしたが、iPhoneも様々な形がでてきてしまい、開発も大変になってきました
iPhone4s | iPhone5/5s | iPhone6 | iPhone6 Plus | |
---|---|---|---|---|
デバイスのピクセル | 640 x 960 | 640 x 1136 | 750 x 1334 | 1080 x 1920(1242 x 2208) |
論理上のピクセル | 320 x 480 | 320 x 568 | 375 x 667 | 414 x 736 |
ピクセル密度(DPI) | 326ppi | 326ppi | 326ppi | 401ppi |
デバイス・ピクセル比 | 2.0 | 2.0 | 2.0 | 3.0 |
参考:iPhone6/iPhone6 Plusの画面対応について
参考:iPhone 6 Screens Demystified
さて、XCodeで開発しているとシュミレーター(iPhoneのバーチャル機器)で動作確認をできるのですが、 設定をしないと実機では動作できません。実機で動作させたい場合はその際は少し面倒な手間がありますがアプリをリリースするには必須ですので、 リリースを明確に予定している人や、デベロッパー登録(年間契約)をすませている人がいれば試してみてもよいかもしれません。 以下参考になるリンクを共有しておきます。
参考:iOSアプリを実機で動作確認しよう-プロビジョニングファイルの作成手順-
参考:iOSアプリのプロビジョニング周りを図にしてみる
参考:[iOS] プロビジョニングファイルと証明書の意味
アプリ作成を完了してもそれをiTunesにアップロードするのは一苦労。何度も苦しまされていませす。 アイコンやスクリーンショットを取得できる段階で一気にやってしまった方が簡単です。
XCodeからコンパイルしたアプリを アップする前にiTuneConnectで「アプリ」の情報を登録するのですが、それが上記に記載したように面倒で、 どんなアプリにするかをある程度具体的に作成する必要があります。仮のデータでも進めることは可能ですが、 僕は公開直前にまとめて処理するほうが効率的なのかなと感じます。(ただしNotification等特別な処理を 利用する場合は事前に端末でチェックしたい場合は必要になってきます)
参考:サルでもできるiOSアプリ公開手順~App store 登録~
参考:【iOS, 申請】iOSアプリの申請プロセスについてPart3 〜リリース用アーカイブファイル作成編〜
アプリ開発をする上でリジェクトは必ず遭遇します。何度もなんども泣きそうになります。人によっても判断されるのが違かった利、 最初OKでも次の人がダメとかもよくあったりするので、これが絶対との線引きはある程度グレーな部分もあるのかなと思います。最近は AppleWatchなんかも出てきたのでそれぞれの利用デバイスによってもテスト項目があるようで、AppleWatchの画像を表示してはいけないとか気にしないといけないことも多いです。 その中でも整理してくださっているサイトを何点か共有してまいります。
参考:APNSに関するリジェクトの回避方法
参考:iOS アプリをAppleに申請する、リジェクト回避
参考:http://dtp-s2.seesaa.net/article/209529181.html
さてマーケティングです。アプリ開発企画の段階から気にしておく必要があるものですが、 僕は開発者なのでこのあたりがかなり弱い状態です。ねこアプリ、か、いぬアプリか、ユーザ数が多いのは「ねこ」、 そんなことをラインキングから読み取る、なので猫つかおう、それが精一杯です。
ここを整理するにあたり広告の手法を調べてみます。まず出てきたのはポジショニング戦略。 自分のアプリと競合アプリとの立ち位置を明確にする手法です。知ら無い機能は目立つ、際立った立ち位置は目立つ、 そんなところでしょうか。
次にマーケットシャア戦略。現状のマーケットの状況と、マーケットリーダーを 見つけ出す、その中で戦うことで黒字化をだしつづけられるかを探ります。現在の仕事では仕入れ等の実際の者を 購入してそれを販売しているのですが、そういった場合はこの「値段」や「掛け率」なんかを失敗してしまうと、 売れば売るほど損が発生する、恐ろしい結果に繋がってしまいますが、アプリなんかだと個人で作成すれば特に 初期投資はゼロですから、1円でも広告収入が発生すると黒字の気分にはなりますが、自分の時間を時給で換算すれば 結構な赤字だったりします。だからこそ、こういった市場の状況を把握して、ペイできる状態にアプリを 誘導させていくのも大切だったりします。余談でしたが、このマーケットシャア戦略は、現状のマーケットの リーダーたちがそれぞれ違う戦略を推奨しているようです。トップ1位の企業には「コストをさらに安く」、2,3位の企業には 1位との「差別化」、4位以下は「集中型でニッチな製品を特定のターゲット層に販売」のようです
次はマインドシェア戦略。お客様の「心の中の立ち位置」をどうやって獲得するか、になるのかと思います。 例えば、ねこの方がユーザが多いといっても、もちろん「犬」のユーザさんもかなり多い。なので、ねこアプリの中に 「犬」の要素をほんのりいれたり、、、、と、存在的なユーザにアプローチする方法です。 例えば、「進撃」とキーワードがあって、今は「進撃の巨人」であって、映画の「300 帝国の進撃」の進撃の キーワードに微塵も力がなく、「進撃キーワードには勝ち目がない」状況のようです。
思った以上にこの項目を書いていると勉強になることが多くありました。詳細は以下のリンクより ご参照ください。アプリの企画を広告に反映させるまでうまく動線をはれますように、、、
参考:ポジショニングの意味とは?マーケティングやブランド戦略における、ポジショニング分析やマップの作り方(軸)・例について
参考:第10回: 分析フォーマットの利用
参考:マーケティングにおける2つの分析軸 2
さて広告収入に関してですが、方法は何点かあります。まず、アプリ課金(アプリを有料にして購入時に支払ってもらう)、 アプリ広告(大画面だったり、文字広告だったり、バナー広告だったり多彩)、アフィリエイト広告(ブログ等で貼り付けられているhtmlのタグ をそのままWebViewに貼り付けて利用)、アプリ内課金(アプリは無料だけど機能が有料) 等の方法があります。それぞれ説明します。
まず「アプリ課金」ですが、個人で開発するのであればオススメできません。すでに認知度があるタイトルだったり、 プロモーションにお金をかけることができないのであれば私は無料アプリから作成した方が、少なくともユーザがDLするので小さいですが、 コツコツした収入に繋がっていると感じます。アプリを有料にするのはアプリをリリースする際に必ず指定する箇所ですので、 有料と無料のアプリ自身の切り替えは値段設定も含めて簡単です。
参考:アプリ開発で儲けるために絶対欠かせない基礎知識まとめ
参考:iOS】有料のiPhoneアプリを申請する時の注意
参考:iPhoneアプリの利益率はどのくらい?アプリ売上だけで食える?
こちらオススメ。アプリの下に表示されるバナーや画面全体に表示される広告等のことです。こちらですが、 様々な広告会社が競争している状態です。iPhoneアプリがで初めてからでも倒産している会社や合併している会社があるので、 厳しいマーケットの広告業界ですので、その分開発者側には安定した収入が落ちてくるようになってきていると思われます。
広告会社としては、GoogleのAdmob、AppleのiAdを筆頭に、日本での有名所でいえばNend, i-mobile, AMoAdとかでしょうか。 他にもかなり細かいものは多くて、Applipromotion等多々あります。最近になって動画広告も増えてきていて、AdColony,AppVadorなんかがあります。 広告会社での大手といえば、最初にでてきたNendで迷っていればまずここを入れておけばよいのではと思います。AppBankなんかも 連携していたり大手を感じます。
またそれら広告をローテーションする(利益率のよい広告を広告会社を切り替える)サービスもあります。AdStir, AdMobメディエーション、 なんかがあります。これは例えば、Nendとi-mobileの広告を登録しておけば、どちらが利益の高い広告を配信しているかをAdStir側でチェックしていて、 自動で切り替えてくれるサービス。収入のマージンはとられますが、常に利益の高い広告が表示されますので結果的にはより収入が増えることになります。
最後にRTB広告(Real Time Bidding)というシステムがあります。これは「広告主」が「開発者の広告枠」をリアルタイムで購入するシステムでより高い収入が見込めます。 通常は、開発者側はアプリに表示される広告はある程度のカテゴリ決めはできますが、可変している状態です。例えばスポーツアプリで、 スポーツのカテゴリの広告設定をしていても、「バスケ」「サッカー」のあとに「相撲」の広告がでたりと幅が広いのです。その中で、 「ラグビー」の広告主が広告枠を購入して、その広告だけをその時間帯だけを表示する購入できるように市場に出すことをRTBといいます。
参考:スマートフォン広告なら日本最大級のnend(スマホweb広告/アプリ広告/アイコン広告/インターステーシャル広告対応)
参考:AdMob - 世界中でアプリを収益化
参考:iAd でビジネス拡大。
参考:「iAd」は意外と穴場!アプリ広告の出稿方法と効果とは
参考:アイモバイル(i-mobile) 国内最大級のアドネットワーク広告 PC/スマートフォン広告(スマホ広告・アイコン広告・インターステーシャル広告・ウォール広告・レクタングル広告)
参考:スマホ広告のAMoAd(アモアド)
参考:AppliPromotion | 無料プロモーション×高収益のアプリプロモーション
参考:AdColony-グローバル動画広告配信プラットフォーム
参考:AppVador - ビデオ広告による認知特化型スマートフォンアプリ向けアドネットワーク
参考:PC・スマートフォン両対応 広告配信SSP 「AdStir」
参考:AdMob メディエーションについて
参考:RTB(Real-Time Bidding)をよく理解できる記事 まとめ
アフィリエイトはよく目にするamazonだったり楽天だったりの「商品購入リンク」の事です。リンクをクリックしてその商品を ユーザさんが購入すればマージンが収入として入ることになります。こちらの設置方法ですが、アプリ内のWebViewにhtmlタグを貼り付けて、 そこから外部ブラウザとしてSafariを起動さえることで、履歴がのこり、購入に繋がった場合支払いが発生します。こちらも、 ターゲット層によるとは思いますが、消耗品等につながるサービスであれば頻繁に購入されたりもしますので、多彩な広告を利用するのを ぜひご利用してください。
参考:Amazonアソシエイト(アフィリエイト)プログラムに参加しよう!
参考:【楽天アフィリエイト】日本最大級のアフィリエイトプログラム
参考:日本最大級のPC・スマートフォン対応アフィリエイトサービスA8.net
こちらはアプリに実装するのは少し面倒だったりもするのですが(ユーザがアプリを消して、もう一度インストールしても購入した商品は持続できるようにする為 補足する準備が必要)、一度実装してしまえばコンスタントに課金につながる可能性があるので有料アプリよりも大きな可能性があるかと思います。 広告をアプリ内課金することで外すことができたり、寄付してほしい、等、方法は様々ですので開発者様の一存で面白いことも多くできる収入手段です。
参考:iOSアプリ初心者がswiftでアプリ内課金の実装をやってみた
参考:iOS の アプリ内課金(In-App Purchase) 組込方法
参考:アプリ内課金でのリジェクトを防ぐためのチェック事項2015
2021-05-14 14:21:41 | WatchOSのwatchconnectivityのFiletransferの落とし穴。と、避け方。
AppleWatch 実機だと成功するんだけど、シュミレーターだと失敗するという、、、
昔作成してた時は成功してたのになーと思って調べると、どうやら昔は成功してたみたい。watchOS6以降は... |
2021-05-06 14:04:37 | LINEのアニメーションスタンプ制作の落とし穴、、、失敗談
ゴールデンウィークにLINEスタンプを作成してみました。
作り切って申請も通したんですが、意図したアニメーションと違う、、、、
LINEクリエーターの画面だと、アニメーションのプレビュー... |
2021-05-01 18:05:35 | 久しぶりのAdmobをobjective-cに実装。コンパイルエラーだらけ。バーミッション不具合でエミュレータにインスコできない。
忘れないようにメモ
エミュレータにアプリをインストールする際にパーミッション系のエラーがでた時、また、iphone実機にインストールする際にも権限系のエラーが出る場合。
ターゲット→ex... |
Tweet | |||
|