Tumblr(http://www.tumblr.com/)というWebスクラップサービスがありますがその中でも画像に特化したビューアーです。気に入った物はReblog,Likeの操作も簡単にできます。また、Flickrなどの画像サイトからReblogすることもできるソフトで、暇な時にぽちぽち見るのに重宝します。
「雑感」カテゴリーアーカイブ
iPhoneソフトの広告システム AdMobとTrafficGateについて
どんなものか試してみたのでその結果を。
AdMob
基本的に広告を配信するためのシステムで、収入は成果報酬がほとんどです。また配信される広告はこちらでは選べず、配信側がターゲットを選択する形となります。そのため、アプリの形態や種類によって収入が得られる場合もあるでしょうが私のアプリでは無理でしたw
その収入に付いても基本的には広告掲載料に回してほしいらしく、一定額以上の広告収入を掲載料に回すと割り増しされるようです。
AdMob
TrafficGate
iPhone用は基本的に表示単価方式で、1広告の表示でいくら、という形の収入になります。ただしほとんどの広告が1日1端末1回しか表示されないのでアプリを何度も再起どうしても無駄ですw
定期的にアプリを起動してもらえるカレンダーや日記などのソフトに組み込めばiPhoneデベロッパーキット代ぐらいは回収できるかも。1円から収入を得られますが一定額を超えないと振り込まれないし振込手数料がいるので「ポイント交換のPeX」というポイントシステムに入れるのが良いかもしれません。
無料のソフトを配信している人は、アプリを使う側の人のことを考えて邪魔にならない程度に利用した方が良いでしょうね。
2011.1.27 追記
TrafficGateの広告について表示回数で収入が決まるかのように書いてしまっていたので訂正。
実際には有料の広告ではない表示があるため(TrafficGate様自身の自社広告など)表示件数ではなく、有料広告(スポンサー広告?)がどれだけ表示されたかで金額が決められます。
ただ現在の管理画面からはどの部分が対象だったのかわかりにくくてなぜこの金額なのかわかりませんw
iPhone/touch用のWifi検索ソフト
2011.10.20追記
便利に使えていたWifiTrakですがiOS5にしたら動かなくなってしまいました。
これでwifiをスキャンするソフトはたぶん全滅だとおもいます。
2010.2.17記入
現状では以下の二種類しか無いのかも。
ただし、どちらも検索するだけでパスワードやログインIDの必要な所へ自動的に接続する機能はありません。
eWifi(無料)
また、Easy WiFiというソフトはパスワードを記憶してくれますが未登録のWifiスポットを検索したり表示する機能はありません。パスワード等はdevicescapeというサイトに登録することによりPC等と共有できるようです。
Easy Wifi(無料)
In App Purchaseのサンプルもどき
2013.10.31追記
古いので参考にはならないと思います。
「iPhone&Androidアプリ内課金プログラミング完全ガイド」など参考にしてみてください。
エラーチェックも何も無い省略しまくりソフトの概略です。枝葉は自分でちゃんと付け加えてください。
#コピペした時に漏れがあったみたいなので修正しました。2010.2.4
まずはStoreKitObserver
MyStoreKitObserver.h #import <Foundation/Foundation.h> #import <StoreKit/StoreKit.h> @interface MyStoreKitObserver : NSObject <SKPaymentTransactionObserver> { } @end MyStoreKitObserver.m #import "MyStoreKitObserver.h" @implementation MyStoreKitObserver -(id)init { if (self = [super init]) { } return self; } - (void)paymentQueue:(SKPaymentQueue *)queue removedTransactions:(NSArray *)transactions { } - (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions { for (SKPaymentTransaction *transaction in transactions) { switch (transaction.transactionState) { case SKPaymentTransactionStatePurchasing: break; case SKPaymentTransactionStatePurchased: case SKPaymentTransactionStateFailed: case SKPaymentTransactionStateRestored: [[SKPaymentQueue defaultQueue] finishTransaction:transaction]; break; } } } @end
あとは適当にボタンを用意して
TestStoreViewController.h #import <UIKit/UIKit.h> #import <StoreKit/StoreKit.h> @class MyStoreKitObserver; @interface TestStoreViewController : UIViewController <SKProductsRequestDelegate> { MyStoreKitObserver *mySKObserver; } -(IBAction)test1Action:(id)sender; @end TestStoreViewController.m #import "TestStoreViewController.h" #import "MyStoreKitObserver.h" @implementation TestStoreViewController -(IBAction)test1Action:(id)sender { SKProductsRequest *request= [[SKProductsRequest alloc] initWithProductIdentifiers:[NSSet setWithObject:@"item1"]]; // 自分でつけたアイテムID request.delegate = self; [request start]; } - (void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response { NSArray *myProduct = response.products; if([myProduct count] > 0) { //1アイテムしか処理してません SKProduct *product = [myProduct objectAtIndex:0]; SKPayment *payment = [SKPayment paymentWithProductIdentifier:product.productIdentifier]; [[SKPaymentQueue defaultQueue] addPayment:payment]; } } - (void)viewDidLoad { [super viewDidLoad]; mySKObserver = [[MyStoreKitObserver alloc] init]; [[SKPaymentQueue defaultQueue] addTransactionObserver: mySKObserver]; UIApplication *app = [UIApplication sharedApplication]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(_applicationWillTerminate:) name:UIApplicationWillTerminateNotification object:app]; [[SKPaymentQueue defaultQueue] restoreCompletedTransactions]; } -(void)_applicationWillTerminate:(NSNotification*)notification { [[SKPaymentQueue defaultQueue] removeTransactionObserver: mySKObserver]; [mySKObserver release]; }
一応動作確認はしましたが無保証です。