2016年5月31日火曜日

Google AdWords認定資格を取得

google-adwords_certificated去年作った幼稚園、保育園向けのサービス「たなごころ」を東京でどう展開していくか考えていて、Google AdWordsを使ってマーケティングしていくために認定資格を取得してみた。

Google AdWordsはGoogleが提供するオンライン広告サービス。

機能が豊富で仕組みや管理の仕方を理解するのが大変。AdWords認定資格は「AdWordsを活用できるオンライン広告のプロ」とGoogle先生が認定してくれた証。

今回AdWords認定資格セミナーがあったので参加してきた。セミナーのスケジュールは公式サイトでチェック。

2日間に分けて基礎と上級がある。

セミナーで「ここ試験に出ます」と教えてくれるし、試験中資料を見ていいのでそんなに難しくない。

ちなみに私の正解率は

基礎試験:90%(80%以上で合格)
検索広告試験:86%(80%以上で合格)

不合格になっても8日後にまた受けれるらしい。

あと個人アカウントとMCCアカウントと会社アカウントのどれで受験すればいいですか?と会場の人に質問したら、

会社側が問題なければ、資格は個人に紐づくものなので個人アカウントがいいのでは?

との回答でした。

個人アカウントで取得してみたので今後何か不都合があったら追記予定。

 

集中して2日間でAdWordsの理解が深まるので、とても勉強になったセミナーでした。

 

< Related Posts >

2016年5月23日月曜日

Google Firebaseの情報収集

firebase「Firebaseって有料だし、チャットアプリ案件が来たら調べてみるか」と思っていたらFirebaseが超進化して、プッシュ通知もFirebase経由で送信するようになるらしいので調べたときの覚書。

前のFirebaseはリアルタイム性のあるアプリを開発するときに便利な機能を提供してくれるプラットフォームという認識。

それがGoogle Play, Google Cloud Platformと統合されて、アプリ開発のデファクトスタンダードSDKになろうとしている。

概要を理解するにはGoogle I/Oのビデオがデモもあって分かりやすい。

各サービスの紹介ビデオ(日本語字幕付き)を見ておくと、英語が苦手でも理解しやすい。

 

そろそろGoogle先生がAppcelerator社を買収してくれないかな。。。

 

次はFirebaseの各機能をTitaniumモジュールとして実装する方法を調べる。

 

< Related Posts >

2016年5月19日木曜日

3つ折りリーフレット(A4)作成。Illustrator CCでトンボとガイド設定

illustrator_leaflet3つ折りリーフレット(A4)を作成したときの覚書。

環境: Windows 10, Adobe Illustrator CC 2015.2.1 英語

前はIllustrator(.ai)形式のテンプレートをダウンロード → 編集 → データ入稿の流れをやっていたけど、最近はPDF入稿が主流らしい。

 

 

参考サイト

 

目次

  1. 新規作成
  2. Illustratorの設定確認
  3. トリムマーク(トンボ)作成
  4. ガイドを作成
  5. 折りトンボとガイドを作成
  6. 裏面用アートボード作成
  7. テンプレートとして保存

 


1.新規作成

こんな感じで新規作成する。

image

 


2.Illustratorの設定確認

Edit → Preferencesで下記設定が有効になっているか確認する

General: Use Japanese Crop Marks … 日本式トンボ使用
Type: Show East Asian Options … 縦中横とか選択出来るように

印刷物(DTP)やるときUnitsは「mm」で。

 


3.トリムマーク(トンボ)作成

四角形ツールで適当なところをダブルクリック

Width: 297mm
Height: 210mm

作成。色は付けない。アートボードに合わせてEffect → Crop Marksでトリムマークが表示される。

Object → Create Trim Marksでも出来るけど、どっちがいいかはそのうち追記予定。

このレイヤーを「Trim Marks」としてロック。

 


4.ガイドを作成

新しいレイヤーを作成して同じ大きさで四角形を作る(断裁用)。

アートボードに揃える。

Object → Path → Offset Path...で「3mm」(塗り足し用)と「-3mm」(文字切れ用)を作成。

image

3つとも選択して、View → Guides → Make Guidesでガイドになる。

このレイヤーは「Guides」としてロック。

 


5.折りトンボとガイドを作成

参考

新規レイヤーを作成。線ツールで4つの線を作る。色はSwatchesから「レジストレーション」を選択。

image

image

image

image

image

次に縦線を作成。

image

位置を97mmと197mmにして、ガイドに変換。

このレイヤーを「Bend Guides」にしてロック。

 


6.裏面用アートボード作成

作成したアートボードをコピーして裏面用のアートボードを作るためにレイヤーのロックを解除。

ガイドもコピーしたいので、View → Guides → Lock Guidesをクリックしてロックを解除しておく。

Artboard Toolを選択して、Altを押しながらドラッグするとレイヤーとガイドをコピーしたアートボードを作成できる。

アートボード名を適当な名前にする。

裏面は折りトンボを逆にするので、左からx位置を100mm, 200mmにする。

 


7.テンプレートとして保存

レイヤーとガイドをロックしてテンプレートとして保存しておけば次回から楽。

印刷するときに追記予定。

 

 

< Related Posts >

2016年5月17日火曜日

GitLab CEからGitLab.comに移行

gitlab_move_serverGitLabをレンタルしたVPSにインストールして運用していたけど、yum updateしようとしたら下記エラーになるので「もうGitLab.comでいいんじゃね?無料だし」と思って移行したときの覚書。

gitlab-ce-8.7.4-ce.0.el6.x86_64.rpm  | 250 MB     02:13
rpm_check_debug を実行しています
トランザクションのテストを実行しています
トランザクションのテストを成功しました
トランザクションを実行しています
エラー: Couldn't fork %pre(gitlab-ce-8.7.4-ce.0.el6.x86_64): メモリを確保できません
Error in PREIN scriptlet in rpm package gitlab-ce-8.7.4-ce.0.el6.x86_64
エラー:   install: スクリプト %pre の実行に失敗しました (2)。gitlab-ce-8.7.4-ce.0.el6 をスキップします。
gitlab-ce-8.7.3-ce.0.el6.x86_64 was supposed to be removed but is not!

 

GitLab.comはプライベートレポジトリが無制限に無料でサポートが有料。

GitHubの新しい有料プランがプライベートレポジトリをたくさん作れるようになったけどGitLab.comはそもそも全部無料だし。

という記事が公式ブログにある。分かりやすい比較表付き。

 

目次

  1. GitLab.comにアカウント新規作成してSSH Keyを登録
  2. Git cloneして試す
  3. 鍵ファイルを分かりやすい名前に変更
  4. 各リポジトリを個別に移行
  5. GitLab CEをアンインストール

 


1.GitLab.comにアカウント新規作成してSSH Keyを登録

新規アカウントを登録して、SSH Key(公開鍵と秘密鍵)を作成。公式サイトを参考に
# ssh-keygen -t rsa -C hoge@gmail.com

パスフレーズはなしで。

公開鍵を表示して、Profile Settings → SSH Keysに登録
# less ~/.ssh/id_rsa.pub

 


2.Git cloneして試す

適当なプロジェクトをGitLab上で作成。

gitのグローバルアカウント設定を変更
# git config --global user.name "hoge"
# git config --global user.email hoge@gmail.com

git cloneしてみる
# git clone git@gitlab.com:hoge/test.git

無事cloneできるのを確認

 


3.鍵ファイルを分かりやすい名前に変更

GitHubのアカウントもあるので秘密鍵と公開鍵の名前を分かりやすいように変更
# cd .ssh
# mv id_rsa id_rsa.gitlab.com
# mv mv id_rsa.pub id_rsa.pub.gitlab.com

設定編集
# less config

Host gitlab.com
        RSAAuthentication yes
        IdentityFile ~/.ssh/id_rsa.gitlab.com
        User git

sshコマンドで確認。どの鍵ファイルを使っているか分かる。
# ssh -vT git@gitlab.com

 


4.各リポジトリを個別に移行

< 2016/05/20 追記>
移行後に気付いた。GitLabにあるbareリポジトリからpushすれば、もっと簡単だった。

GitLab.com上でプロジェクトを作成後、自サーバーのGitLabのbareリポジトリに移動してプッシュ。
# cd /var/opt/gitlab/git-data/repositories/hoge/project.git/
# git push --mirror git@gitlab.com:hoge/project.git

なので前の方法は非推奨。

GitLabベアリポジトリから足りないブランチをGitLab.comへプッシュする場合
# git remote add origin git@gitlab.com:hoge/project.git
# git fetch origin
# git push origin --all

GitLab.comで更新済みのブランチはエラーになるけど、足りなかったブランチは反映された。

タグも反映する場合
# git push origin --tags


一括でGitLab CEからGitLab.comにエクスポート・インポートする機能はないようなので個別に登録。

GitLab.com上でプロジェクトを作成

移行するリポジトリに移動。originを変更する。一応fetchしてから
# git fetch origin
# git remote set-url origin git@gitlab.com:daiki.suganuma/hoge.git

確認
# git remote -v

push
# git push origin --all
# git push origin --tags

ローカルにリポジトリがない場合はmirrorを使った方法が簡単みたい

小さいプロジェクトは作業用のディレクトリ作ってこの方法使った方が早い。
# git clone --mirror git@gitlab.hoge.jp:hoge/project.git
# cd project.git
# git push --mirror git@gitlab.com:hoge/project.git

 


5.GitLab CEをアンインストール

GitLab CEを停止してまましばらく運用してみて問題がなさそうなのでアンインストールする。

参考

YUMレポジトリから削除
# rm -f /etc/yum.repos.d/gitlab_gitlab-ce.repo

GitLab停止
# gitlab-ctl stop

アンインストール
# yum remove gitlab-ce

設定ファイル削除
# rm -rf /etc/gitlab/
# rm -rf /opt/gitlab/

ユーザー一覧
# less /etc/passwd

ユーザー削除
# userdel gitlab-www
# userdel git
# userdel gitlab-psql
# userdel gitlab-redis

データとログを削除する場合。
# rm -rf /var/opt/gitlab/
# rm -rf /var/log/gitlab/

 

 

< Related Posts >

2016年5月11日水曜日

Windows10にTitanium CLIをInstallしてAndroidビルド環境構築

titanium-cli_android_win10Android向けのTitaniumモジュールを開発しているときに、Mac上でAndroidエミュレータを起動すると遅い(Mac mini mid 2010)。

なので一番パワーのあるWindowsマシンで開発すれば幸せになれるんじゃね?と思ってやってみたときの覚書。

環境: Windows 10, node 4.4.4, Titanium SDK 5.2.2.GA, jdk-8u91-windows-x64

 

目次

  1. Titanium CLIのインストール
  2. JDKのインストール
  3. Android NDK, SDKのインストール
  4. Android SDKの開発ツールをダウンロード
  5. Androidエミュレータの設定
  6. Titaniumモジュールをビルドしてみる

 


1.Titanium CLIのインストール

公式サイトを参考に

PowerShell起動。Titanium CLIをインストール
PS > npm install appcelerator -g

Titanium SDKインストール
PS > appc setup

JDK (Java Development Kit) not found.
If you already have installed the JDK, verify your JAVA_HOME environment variable is correctly set.
The JDK can be downloaded and installed from http://appcelerator.com/jdk.

 


2.JDKのインストール

環境変数「JAVA_HOME」を設定しろと言われるので、

http://appcelerator.com/jdk
にアクセス(分かりやすいサイトに自動転送される)してJDKをダウンロード・インストール。

環境変数を追加。
コントロールパネル → システム → Advanced system settings → Environment Variables...
から追加する。

image

PowerShellを起動して環境変数確認
PS > Get-ChildItem env:

Titanium CLIでも確認
PS > appc info

 


3.Android NDK, SDKのインストール

今度はAndroid NDKとSDKのインストール。SDKはAndroid Studioをインストールしたときにインストール済み。

http://appcelerator.com/android-ndk
にアクセスしてもTitaniumがサポートしているRevision 9dはダウンロードできない。下記サイトを参考にダウンロードする。

Revision 9dのWindows 64bitはこのリンク

適当なディレクトリに展開。Titaniumに登録
PS > appc ti config android.sdkPath D:\Documents\Android\sdk
PS > appc ti config android.ndkPath D:\Documents\Android\android-ndk-r9d

確認
PS > appc info

ここで気付いた。PowerShellだと一部文字(右側の値)が表示されない。以後はcmdで実行することにした。

 


4.Android SDKの開発ツールをダウンロード

次はSDK内の「SDK Manager.exe」を起動して、下記をインストール

  • Android 6.0 (API23)
  • Android 4.0 (API14)
  • GPU Debugging tools
  • Google Play Services
  • Google USB Driver

 


5.Androidエミュレータの設定

「AVD Manager.exe」を起動するとAndroid Studioで作ったNexus 5Xがエラーになってたので修正して保存。

確認
S:\ti.admob\android>C:> appc info

 


6.Titaniumモジュールをビルドしてみる

準備が整ったので試しにビルドしてみた。
S:\ti.admob\android>appc run -p android

エラー

[INFO]  Starting directory: S:\ti.admob\android
[INFO]  New directory: S:\ti.admob\android\build\generated
2016-05-10T08:12:00.345Z | ERROR  | An uncaught exception was thrown!
spawn D:\Documents\Android\android-ndk-r9d\ndk-build ENOENT
2016-05-10T08:12:00.348Z | ERROR  | spawn D:\Documents\Android\android-ndk-r9d\ndk-build ENOENT

NDKにはPATHを通さないとダメらしい

JAVA_HOMEと同じようにPATHにndkまでのパスを登録してcmd再起動。

確認
C:> PATH

もう一度ビルド実行
S:\ti.admob\android> appc run -p android

同じエラー

各種設定を確認。JDKは32bitでないとダメらしい

64bitを削除して32bit版をインストール。

ビルド実行
S:\ti.admob\android> appc run -p android

同じエラー

エラー内容の情報が少なすぎて詳細が分からない。

JDK 32bitにするとAndroid Studioが起動出来なくなるので64bitに戻した。

エミュレータ自体は起動するので、appcコマンドで一発で出来ないにしてもadbコマンドでインストールしてテストは出来そう。

 

< Related Posts >

2016年5月10日火曜日

【Titanium】ListViewにAdMobの広告を表示したい

titanium_admobTitaniumで作ったアプリに広告を表示しようとAdMobモジュールを使ってみたときの覚書。

環境: Titanium SDK 5.2.2.GA, ti.admob(iPhone) 2.1.0 ti.admob(Android) 2.1.5

 

まずはAdMobの管理画面にアクセスして広告ユニットIDを作っておく。

 

ListView内にネイティブ広告を出したいけど、まだベータ版なので今回はListView内にバナー広告を出すのが目標。

 

AdMob用TitaniumモジュールはGitHubで公開されている

 


1.iOS向けSimulator上で試す

ti.admob-iphone-2.1.0.zipをダウンロードして配置。

tiapp.xmlに追記

<modules>
  <module platform="iphone">ti.admob</module>
</modules>

使い方はGitHub上のドキュメントとサンプルを参考に

 

まずはサンプルを貼り付けて動くか確認。

その後、ListView内のテンプレートとして指定して表示してみる。

テンプレートの書き方は下記サイトを参考に。propertiesはサンプルの方に合わせる。

問題なく表示できるのを確認。

 


2.Android向けに実機で試す

まずはサンプルを参考に表示できるか確認。iOSとプロパティが結構違うので注意。

起動してみるとエラー

[ERROR] TiExceptionHandler: (main) [1173,2046] ----- Titanium Javascript Runtime Error -----
[ERROR] TiExceptionHandler: (main) [0,2046] - In ui/pages/common/posts-comments.js:1,69
[ERROR] TiExceptionHandler: (main) [0,2046] - Message: Uncaught TypeError: Object #<Admob> has no method 'createAdMobView'
[ERROR] TiExceptionHandler: (main) [0,2046] - Source: .call(this),getData.call(this);var e=require("ti.admob");this.add(e.createAdMo
[ERROR] V8Exception: Exception occurred at ui/pages/common/posts-comments.js:1: Uncaught TypeError: Object #<Admob> has no method 'createAdMobView'

「createAdMobView」メソッドがないって怒られた。ソースをみるとcreateViewでできそう。

createViewで試すと成功。

気付いた点

  • publisherIdはユニットIDでOK
  • 横幅を320dp以下で指定すると表示されない
  • エラーが出力されるけど表示はされる。

[ERROR] Ads: JS: Uncaught ReferenceError: AFMA_ReceiveMessage is not defined (null:1)

今度はListViewのテンプレートで試してみる。

エラー

TiAdmob is not defined

になる。

どうやらapp.jsに

var TiAdmob = require('ti.admob');

を付けると大丈夫らしい。

今度は何もエラーを吐かずにアプリ自体落ちる。

モジュールをビルドした環境が古いので最新でビルドしてみた。

やっぱり落ちる。

GitHubで公開されているAdMobのサンプルを参考に書き直す必要がありそう。

< 2016/05/24 Modified >
AdMobはFirebaseに統合されてこのリンクはなくなった。

 

つづく(たぶん)。。。

 

< Related Posts >

2016年5月9日月曜日

Android StudioにPhpStormのキーバインド(Key maps)をインポート

Javaを編集するにはAndroid Studioが便利なので、普段使っているPhpStormの設定をインポートできないものかと調べたときの覚書。

環境: Windows 10, Android Studio 2.1, PhpStorm 2016.1

同じJetBrains社が作っているだけあって簡単。

PhpStormでエクスポートした設定ファイルをAndroid Studioでインポートして、必要な設定だけ選択すればいいだけ。

image

 

あとデフォルトのフォントは読みにくいので、「Source Code Pro」に変えた。日本語も扱う場合は組み合わせたフォントが公開されている。

 

< Related Posts >

2016年5月6日金曜日

iOSのPush通知用証明書(Apple Push Notification Service)を更新

certification_updateiOSのPush通知するための証明書(Apple Push Notification Service: APNs)を更新したときの覚書。

新規作成する場合は前の記事を参考に

 


1.証明書を新規作成

Member Centerにアクセスして
Certificates, Identifiers & Profiles → iOS Certificates → 新規作成
更新するApp IDを選択。証明書署名要求(CSR)は新規作成したときと同じものをアップロードして作成。

ダウンロードする。

最近は「APNs Production iOS」から「Push Notification Service」に呼び方が変わったみたい

 


2.PEMフォーマットに変換

Linuxサーバーで作業。ダウンロードした証明書は「aps_production.cer」

PEM形式に変更
# openssl x509 -in aps_production.cer -inform der -out 2016hoge_cer.pem

更新前と同じ秘密鍵と結合
# cat 2016hoge_cer.pem hoge_key-nopass.pem > apns.pem

あとは本番サーバー上の証明書を上書きして終了。

 

< 2016/08/10 Modified >
Mac上だけで完結するやり方で作業することにした。

Member CenterでApple Push Services証明書を作成してダウンロード。MacでダブルクリックするとKeychain Access上で秘密鍵と関連付けられる。

証明書の名前は「Apple Push Services: com.hoge」

これをExport. p12形式は証明書と秘密鍵を含めることができる。

ターミナルでpem形式に変換
$ openssl pkcs12 -in hoge_cer.p12 -out apns_live.pem -nodes -clcerts

期限確認
$ openssl x509 -noout -dates -in apns_live.pem

 

< Related Posts >

Related Posts Plugin for WordPress, Blogger...

Blog Archives