Google Play Store に apk をスクリプトでアップロードする

GoogleからこんなAPIが公開されています.

Awesome__Automated_Google_Play_publishing_via_an_API__May_add_this_into_my…

Awesome! Automated Google Play publishing via an API. May add this into my…

これまでのapkアップロードの方法は, ブラウザからapkをアップロードしていましたが.

APK-Google_Play_Developer_Console

このAPI何ができるのか.

API Reference - Google Play Developer API — Google Developers

ほとんどこれまでブラウザで操作してた「Google Developer Console」の内容は処理できる雰囲気.

apk を操作するのは以下.

Edits.apklistings

Edits.apks

サンプルとしてpythonなスクリプトあります.

google/google-api-python-client

android-play-publisher-api/v2/python at master · googlesamples/android-play-publisher-api

android-play-publisher-api-master/v2/python/
├── README.md
├── basic_list_apks.py
├── basic_list_apks_service_account.py
├── basic_upload_apks.py
├── client_secrets.json
├── update_listings.py
├── upload_apks_rollout.py
└── upload_apks_with_listing.py

とりあえず, スクリプトから PlayStore にアクセスして apk のアップロード済みリストを取得してみる.

$ python basic_list_apks.py
usage: basic_list_apks.py [-h] [--auth_host_name AUTH_HOST_NAME]
                          [--noauth_local_webserver]
                          [--auth_host_port [AUTH_HOST_PORT [AUTH_HOST_PORT ...]]]
                          [--logging_level {DEBUG,INFO,WARNING,ERROR,CRITICAL}]
                          package_name
$ python basic_list_apks.py com.sample.package
versionCode: 92, binary.sha1: b364588222644f011a027d8ca00c99590a67ede5
versionCode: 93, binary.sha1: bfe26c13974454e893192802fb0ef09bbb0e9678
versionCode: 94, binary.sha1: f5affe6fef705365fd53441889405c88c930c535

効率的に自動化する使い方ができそう.

まずは以下から, APIのIDとキーの取得からやるとわかりやすいかも.

Google_Developers_Console

Google Developers Console


ひさびさに更新したら動かないプロジェクトたち #androidstudio

8/1 になんだかんだというのでちまちまやってるといろんなことがおこる.

【 Android_ID / IMEI を使ったらアウト?! 】8/1 以降 「端末の特定」はすべて Google「広告ID」経由に

build tool を 19.1.0 にする.

android {
    compileSdkVersion 19
    buildToolsVersion ’19.1.0'

Gradle Plugin のバージョンを 0.12.0 以降にする.

buildscript {
    dependencies {
        classpath 'com.android.tools.build:gradle:0.12.+'

Error:The project is using an unsupported version of Gradle. Please use version 1.12.
Please point to a supported Gradle version in the project's Gradle settings or in the project's Gradle wrapper (if applicable.)

gradle/wrapper/gradle-wrapper.properties

distributionUrl=http\://services.gradle.org/distributions/gradle-1.12-all.zip

Error:Execution failed for task ’sample:processDefaultFlavorDebugManifest'.
> Manifest merger failed : uses-sdk:minSdkVersion 17 cannot be smaller than version L declared in library com.android.support:appcompat-v7:21.0.0-rc1

appcompat が 21 を拾ってエラー
→ 19.+ に

dependencies {
    compile 'com.android.support:appcompat-v7:19.+'
    compile 'com.google.android.gms:play-services:+’

Warning:(21, 25) Not targeting the latest versions of Android; compatibility modes apply. Consider testing and updating this version. Consult the android.os.Build.VERSION_CODES javadoc for details.

android {
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_7
        targetCompatibility JavaVersion.VERSION_1_7

Gradle のバージョンて こんな風になってたのかっ

Android_Studio_Gradle_issue_upgrading_to_version_0_5_0_-_Gradle_Migrating_From_0_8_to_0_9_-_Also_Android_Studio_upgrade_to_0_8_1_-_Stack_Overflow

Android Studio Gradle issue upgrading to version 0.5.0 - Gradle Migrating From 0.8 to 0.9 - Also Android Studio upgrade to 0.8.1 - Stack Overflow


アプリをつくるときに どの Activity UI をメインとするか

「ハンバーガーボタン」もしくは「ナビゲーションドロワー」と呼ばれるナビゲーションUIは数多くのアプリに見られる。Googleもアプリデベロッパー向けにオススメのデザインパターンとして推奨している。

これからは, Navigation Drawer の一択, と思っていたら以下の話.

平均ウィークリーアクセス頻度が下がっている。平均デイリーアクセス頻度も下がっている。結論、「ハンバーガーボタン」ナビゲーションはユーザーにとって受け入れられていない、ということが改めて明らかになった。

使用頻度が低く興味がない人にとっては左上をタップするということは大きな障壁となり、ユーザー離脱へと繋がる可能性が高まってしまう。

アプリUI/UXデザイナー必見!「ハンバーガーボタン」ナビゲーションを使うとユーザーエンゲージメントが半減することが発覚 | gori.me(ゴリミー)

Google まで A/B テスト中 などという話だったりで.

となれば, スワイプ可能タブなスタイルなのか.

Create_New_Project 2

けど,

画面の遷移や表示に, アニメーション付きスワイプ が

そんなにいいとは思わなくね?

端末自体の遷移や起動時のアニメはすべてOFF気味にしていますが.

20140725-130135

ボタンをタップしたらさっさと素早く画面が変わった方が

イライラ少なくね?

誤操作も減るし.

たとえば, LINE とかのように.

LINE

けどこれはこれで, アプリの根本の「設定」画面が見つけづらかったりするような気もしなくもない.

画面たちの構成つか, 意味合いのカテゴリ分けつか

そこを捉えたかったのだろうか Google の Drawer や アクションバーからの Spinner.

Create_New_Project 3

Create_New_Project

てなかんじで,

メインの Acticity つか アプリのルートな画面 というか

どれにすべきか悩んだりしませんか?

Blank Activity から始めると面倒臭すぎるようにも思うし.

Create_New_Project