サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
Pixel 9
tech.admax.ninja
IDFAの取得方法を紹介します。 AdMaxSDKをiOS用に作成したときに実装したメモになります。 取得自体はとっても簡単ですが、使いづらい(用途が限られている)のでそう使う機会はないと思います。 IDFAについて IDFAはiOS6のリリースと一緒に実装されました。 iOS6以前はUDID(端末固有ID)が使われていましたが、これが使用禁止になってIDFAを使うようになりました。 UDIDと使い道は同じ(識別する)ですが、UDIDと違ってIDFAには以下の特徴があります。 ユーザーがIDFAをリセット出来る UDIDは端末固有なので、いくらがんばってもリセットできませんでした。製造時に降られてしまいますからね… しかし、IDFAはリセットできるのでいくらでも変えることができます。 変えられることで個人を特定することが不可能になるので、IDFAの使用をしなければならなくなったということで
このブログはNode.js製のHexoで構築されてます。 構築方法は以前記事にしてるのでよかったらどうぞ。 【Node.js】Hexoでブログを書くための環境構築 で、HexoというブログフレームワークにはRSSやsitemapのページすら標準では用意されてません。 それを補うために多くのプラグインがあります。 RSS : hexojs/hexo-generator-feed sitemap : hexojs/hexo-generator-sitemap 他にもたくさんのプラグインがあるので、探してみてください。 Plugins · hexojs/hexo Wiki このプラグインはnode_moduleといわれるNode.js製のライブラリになっています。 中身はjavascriptなので、簡単にソースコードが読めるので、一読の価値があると思います。 話は変わりまして、このブログの横に新
distanceFilter This distance is measured relative to the previously delivered location. Use the value kCLDistanceFilterNone to be notified of all movements. The default value of this property is kCLDistanceFilterNone. This property is used only in conjunction with the standard location services and is not used when monitoring significant location changes. 意訳すると、 「このdistance(距離)は以前の配信場所を基準に測られます。すべ
hexoではMarkdownで記事を書きます。 Markdownで記事を書く上で最低限覚えておいてほしい事を書きます。 こんな感じで書くとMarkdownだけじゃなくて、記事自体もシンプルできれいに書けると思いますって感じで書いていきます。 タイトル - <h~></h~> 各見出しに使うと思います。 ブログのタイトルが<h1></h1>、記事のタイトルも<h1></h1>という作り(本ブログでは)なので、ブログ記事の各要素毎のヘッダーは<h2></h2>で書きます。 HTMLの<h~></h~>をMarkdownで書くには#(シャープ)を使います。
Android Libraryを作成されるときに生成される.aarフォーマットについて紹介したいと思います。 .aarの生成方法、使い方については以下の記事で書いたのでそちらを参考にしてください。 【Android】.aarをGitHub Pagesを使って公開する .aarフォーマットはなんどかこのブログの記事で出現しては記事にすると言っていたので、改めて調べてみました。 .aarとは The ‘aar’ bundle is the binary distribution of an Android Library Project. 意訳すると「AARはAndroidライブラリプロジェクトのバイナリディストリビューションです」という感じです。 つまりAndroidプロジェクト用のライブラリをまとめたフォーマットです。 .aarファイルには以下のファイルが含まれています。 順番に解体してい
Objective-CにはProtocolとDelegateやObserverなどメッセージのやりとりをする実装方法がありますが、それらと同じ位便利なNotificationを紹介します。 これを使えば、不特定多数(メッセージを送信する側は誰が受け取るが把握しないため)のオブジェクトに対して任意のメッセージを送る事が出来ます。 NSNotificationの使いどころ 僕は普段、Objective-Cにおいてメッセージのやりとりをするときに、ProtocolとDelegateを使います。 けど、今回作ったものの実装で、不特定多数のオブジェクトが同じ値を求めるときにいちいちDelegateを配列で保持するのもなと思っていました。 そこで使ったのがNSNotificationというやつです。 簡単な例を紹介します。
このブログはHexoとGithubPagesを使って運営しています。 ということで、Node.jsのインストールからHexoのインストールまでを紹介します。 nvmのインストール node.jsのインストール hexoのインストール ブログを書くためのhexoのコマンドを簡単に紹介 という流れで書きます。 実行環境としてはMac, Linuxを想定しています。 1. nvmのインストール creationix/nvm インストールはGitHubのREADME.mdに書かれています。 以下のコマンドを実行してください。
アプリの基本情報(アプリのバージョンや状態)が書かれているInfo.plistから値を取得する方法を紹介します。 例えば、APIと通信するアプリを作成するときにアプリのバージョンを一緒に送信したい場合があるかと思います。 アプリのバージョンごとに描画する内容が異なる場合などです。 その値を手動でバージョンアップごとに書き換えるとなるととってもめんどくさく、またリスクがあると思います。 そのような値を設定ファイル(Info.plist)から取得すればまず間違いは起きません。 また設定ファイル(Info.plist)に独自の値を設定することも出来ます。 設定ファイルを有効活用してソースコードを少しでも簡素化できるようにしましょう。 ということで取得方法を紹介します。 Info.plist 今回はXcodeでプロジェクトを作成したときのまんまのInfo.plistをサンプルとして使いたいと思いま
AndroidでのAdvertigingIDの取得方法を紹介します。 AdMaxSDKを作る上で、必須な処理です。 これを取得しないと、価値のある広告が表示できないのです。 ということでまずはAdvertisingIDの説明です。 AdvertisingIDとは Androidデベロッパーのヘルプページより引用します。 広告 ID 広告 ID (“advertising ID”) とは、ユーザーがリセットできる匿名かつ固有の広告 ID で、Google Play 開発者サービスで提供されます。この広告 ID によってユーザーの管理性は向上し、デベロッパーはシンプルな標準システムで引き続きアプリを収益化できます。また、ユーザーは自分の ID をリセットしたり、Google Play アプリ内のインタレスト ベース広告をオプトアウトしたりできます。 匿名かつ固有の広告IDというのがキモなのでは
Xcodeにおけるライブラリの追加方法を説明します。 初めてXcodeをみると機能がたくさんありすぎて、なにがどこを指しているのかよくわからないという自体になります。 これだけのために記事を書くのはすこしもったいないですが、色々なところで当たり前のように 「○○のライブラリを追加してください。」 って書かれているので、簡単にその方法を紹介しようと思いました。 段階踏んでご説明するので、順をおって読んで頂けるとうれしいです。 初期画面 プロジェクト名のファイル(一番左上)をクリックした状態です。 ここからご説明していきます。 Build Phases 初期画面の中にある、Build Phasesをクリックしてください。 Link Binary With Libraries( ○ items) Link Binary With Librariesという項目をクリックしてください。 Toggle
のように相対的に決めるパラメータを組まれるとonCreate時にview.getWidth()などではすぐに取得できません。 なので、Viewのレンダリング(描画)が終了した時点で正確な値を取得したいと考えるかと思います。 そんな時の手段を紹介します。 使うクラスはViewTreeObserverとViewTreeObserver.OnBlogalLayoutListenerです。 ViewTreeObserver A view tree observer is used to register listeners that can be notified of global changes in the view tree. A ViewTreeObserver should never be instantiated by applications as it is provided
<uses-permission/>の説明をしていきます。 android.permission.ACCESS_COARSE_LOCATION public static final String ACCESS_COARSE_LOCATION Allows an app to access approximate location derived from network location sources such as cell towers and Wi-Fi. ということでWiFiやLTE(3G)とかの電波塔などのネットワークの場所の供給源を利用して、おおよその場所の位置情報へのアクセスを出来るようにするパーミッションとなります。 ネットワークを使うということなので、かならずandroid:name="android.permission.INTERNET"のuses-permiss
以前、自作Viewを作っている時にコンパイル時や実機などでの確認時は特に問題なかったのに、Layoutファイルに自作Viewを乗っけてBuildするとExceptionがはかれて描画されない(Previewに表示されない)なんてことがありました。 これはちゃんと回避方法があるので、その方法のご紹介です。 例としてWebViewを継承してLayoutファイルだけで設定できるようにした自作クラスを紹介します。 ソースコード 今回のサンプルはこんなクラスです。 CustomWebView1234567891011121314151617181920212223242526272829import android.content.Context;import android.content.res.TypedArray;import android.util.AttributeSet;import
前回自作Viewの作成方法を書きました。 【Android】AttributeSetを使ってXMLだけで自作Viewに値をセットする 今回は作った自作Viewを世に公開する方法と公開した自作Viewを使う方法を紹介します。 みんな大好きGitHubのGitHub Pagesを使って公開するので、GitHubのアカウントをお持ちでない方はこれを機にアカウントを作成してください。 簡単に紹介するとGitHub PagesをMavenリポジトリとして自作Viewを公開します。 順番としては .aarを生成するモジュールの新規作成 .aarファイルの生成 デプロイ 公開 という流れで書いていきます。 今回公開する自作Viewは前回記事のCustomViewをまんま使います。 どんなViewかは前回記事をみるか、サンプルを見てください。 【Android】AttributeSetを使ってXMLだけで
FacebookアプリやGoogle+で使われているCardUIを実装してみました。 正直ブログで色々紹介するには量が多いので、GitHubに上げました。 よかったら、参考にしてみてください。 NinjaAdMax / SampleCardUI ちなみにこのサンプルで使っている画像はすべてぱくたそ - フリー写真素材・無料ダウンロードの画像を利用しています。 このサンプルの画像を使う場合はぱくたその利用規約に同意した上で使用してください。 こんなUIになります。 わかりにくい点だけご紹介します。 UITableViewでnibを使う こんな感じで使えました。 1self.tableView.registerNib(UINib(nibName: "ImageDataTableViewCell", bundle: nil), forCellReuseIdentifier: "ImageData
Xcode6から新たに導入されたIBInspectableというのを使って、コードを一切書かずに値を設定できるようにする方法を紹介します。 自作Viewを作っている人には嬉しいことだと思います。 なにより、ソースコードを書かなくてよくなりますからね。 ちなみにXcode6の新機能ですが、Objective-CでもSwiftでも使えます。 とっても簡単に導入できるので、ぜひ使ってみてください。 SwiftでIBInspectableを使う まだSwiftを使って、自作Viewを作る人はいないのかな。 まずはソースコードになります。 NACustomSwift.swift
iOSのTwitterのアプリのNavigationBarにUIPageControlが入っていて素敵だなと思ってまねてみました。 完成した画面はこんな感じになります。 UIPageViewControllerを使って実装してみました。 簡単に実装方法を紹介します。 StoryBoard こんな感じで実装してみました。 NavigationItemの上に一度UIViewをのせて、さらにその上にUILabelとUIPageControlをのせています。 あとは@IBOutletでViewController.swiftと接続してます。 ソースコード わかりやすく一つのViewController.swiftにまとめてみました。 ViewController.swift123456789101112131415161718192021222324252627282930313233343536
標準のUITableViewのEditModeでどんなことができるのか調べてみました。 あーだこーだ独自の実装をするより、用意されているものを使った方がユーザーさんもわかりやすいかと思います。 今回試してみたのはUITableViewCellの追加、削除、移動の3つです。 こんな感じになります。 ソースコード すべてViewController.swiftに書いてみました。 ViewController.swift123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778import UIKitclass ViewController: UIViewCont
僕がiPhone6Plusに乗り換えて一番便利だなって思っている機能はTouchIDです。 他の主要アプリでも実装されているので、実装方法を紹介したいと思います。 ソースコード いつも通り、ソースコードから紹介します。 ViewController.swift123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051import UIKitimport LocalAuthenticationclass ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the vie
AndroidStudioを使って.jarファイルを生成する方法を説明します。 話の要素としてはgradle(groovy)が80%くらいです。あとは簡単な説明です。 今回のサンプルはNinjaAdMax/SampleExportJarにあげてあります。 では進めていきます。 段取りとしては android-libraryのModuleの作成 build.gradleの編集 出力 build.gradleで新しく追加した内容の説明 で進めていきます。 1. android-libraryのModuleの作成 File > New Moduleでもなんでも良いので、Moduleの新規作成画面を開いてください。 以下のような画面が開けましたでしょうか。 そしたら上から2番目のAndroid Libraryを選択してNextをクリックしてください。 以下の画面へ遷移するかと思います。 一つずつ説
AdMaxSDKの使い方はすべてWikiに書いています。 ライブラリなどを作成してGitHubを使って世に公開したときにREADME.mdに使い方すべてを書いてしまうと、とっても読みづらいです。 どんなライブラリか、対応バージョン、インストール方法など簡単に書けるものはREADME.mdに書くで問題ないと思います。 しかし、細かい使い方やAdMaxSDKみたいにあまり使い方がわかっていない人に対して「SDKを用意したから勝手に使ってください。」という姿勢は失礼だと思ったのでWikiにすべてを書きました。 なので、今回はGitHubにWikiを公開するまでの流れを書きます。 リポジトリの作成 なにはともあれリポジトリを作成します。 ここは割愛させて頂きます。 Wikiの作成 ではさっそくWikiを作成します。 リポジトリの画面の右にWikiのリンクがあるのでそれをクリックしてください。 リン
以前記事の所々に出現していたBridgingHeaderについて紹介します。 書く書く詐欺はよくないので、知識がホットなうちに記事にして固めようという魂胆です。 BridgingHeaderについての簡単な紹介と使い方について書きます。 Bridging-Headerについて ご存知の通り、AppleさんはiOS8やXcodeとともにSwiftもリリースしました。 Beta版の頃からiOS界隈はSwiftに大盛り上がりしていました。 あの長ったらしいメソッド名を書かなくてすむとかスクリプト言語っぽいとか(ちなみに僕はScalaちっくだなって思いました。)。 しかし、世に出ているライブラリのほとんどはまだObjective-Cで作られているのが現状です。 なのでSwiftでもObjective-C製のライブラリを使いたいとか、ここはObjective-Cで書きたいとかという問題の解決策がBr
iOSのアプリを作っている時に定期的にメソッドを実行したい場合があると思います。 例えば、 ある画面に何分以上いたら「シェアしてよ」のアラートを出す ある一定時間同じ画面にいたら画面描画を変える などの場合です。 そんな時はNSTimerを使うとより簡潔に書けます。 ということでNSTimerの紹介をします。 NSTimer You use the NSTimer class to create timer objects or, more simply, timers. A timer waits until a certain time interval has elapsed and then fires, sending a specified message to a target object. For example, you could create an NSTimer
このページを最初にブックマークしてみませんか?
『AdMax Tech Blog』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く