Cordova – 建立開發環境

Could not find an installed version of Gradle either in Android Studio,or on your system to install the gradle wrapper. Please include gradlein your path, or install Android Studio

  1. 下載 gradle (Gradle | Installation)
  2. 解壓到 C:\Gradle
  3. 將 C:\Gradle\gradle-6.5.1\bin 新增到 PATH 環境變數內

什麼樣的開發環境?

因為是 Cordova 所以 Android 可以忽略 Android Studio IDE 以及 AVD ,因為要直接連手機測試

但是 IOS 就沒有省略 Xcode 的方式,因為 Mac 的硬體效能較佳,不像 PC 的差異

安裝、設定

步驟

  1. 建立 c:\bin\android 目錄,此目錄就是後續所有 Android 編譯所需用到程式存放位置
  2. 下載 25.2.3 Android SDK,下載最新版 (26.1.1) 不適用因為沒有圖形介面,後續操作不易
  3. 將 tools_r253.2.3-windows.zip 解壓縮到 c:\bin\android
  4. 設定環境變數 PATH
    1. 建立 ANDROID_HOME 變數路徑到 c:\bin\android
    2. 增加 tools 目錄到 PATH
    3. 增加 tools\bin 目錄到 PATH
  5. 打開命令提示字元運行 >android sdk 安裝
    1. Android SDK Tools
    2. Android SDK Platform-tools
    3. Android SDK Build-tools
    4. Google USB Driver
  6. 下載 gradle Gradle | Releases
  7. 解壓縮 gradle-4.9-bin.zip 到 ANDROID_HOME 並改名為 gradle
  8. 增加 gradle\bin 目錄到 PATH

安裝 Cordova 以及實機測試

將手機切換到開發者模式之後,開啟 USB 偵錯,連上電腦後就可以開始安裝 Cordova 以及測試了

 

648 total views, 3 views today

Cordova – 設定 config.xml

設定你的 APP 專案

你可以設定

  • 專案 id, 名稱、敘述、版本號
  • 作者
  • 首頁檔名
  • 是否全螢幕
  • 是否固定方向
  • 是否關閉彈性捲動
  • icon
  • 其他 plugin 所需要設定值,例如 Google + OAuth 登入

首頁檔名

控制螢幕方向

  • default : 預設值,根據裝置
  • portrait : 固定為直向
  • landscape : 固定為橫向

Anddroid

根據陀螺儀翻轉方向

全螢幕

關閉彈性捲動

一個範例

595 total views, 1 views today

Facebook OAuth v3.1 臉書登入 – 使用 PHP SDK

流程

  1. 下載 PHP SDK php-graph-sdk (v5)
  2. 將下載的 php-graph-sdk-5.x.zip 檔內的 src\Facebook 解壓縮到網站內
  3. 準備兩個網站路徑:登入、OAuth
  4. https://developers.facebook.com/apps 選擇臉書登入 app
    1. 設定 → 進階:升級 API 版本到 v3.1

    2. 產品 → 設定:將預計的 OAuth 路徑填入 有效的 OAuth 重新導向 URI
  5. 準備產生臉書登入連結及處理 OAuth 資訊到取得臉書個人資料 id, name, email

PHP  – 產生 OAuth 登入連結

 

如此即會產生如以下這樣的連結

 

OAuth 登入處理 (https://member.hoyo.idv.tw/Facebook.php&b=OAuth)

這裡只列出 Facebook OAuth class 的程式碼,前面還有一個 index.php 處理網站入口,例如後面說的 session 錯誤就是寫在 index.php 內

$UserInfo 如此即可得到該登入使用者在 Facebook 的基本資料 id, name, email

無法載入網址: 這個網址的網域未包含在應用程式的網域中。若要載入這個網址,請在應用程式設定的「應用程式網域」欄位中新增應用程式的所有的網域及子網域。

請使用 Facebook 提供 SDK ,注意流程即可避免此問題

Facebook SDK returned an error: Cross-site request forgery validation failed. Required param “state” missing from persistent data.

PHP 必須開啟 session_start();

Graph returned an error: This authorization code has been used.

為什麼 Facebook 使用 PHP 不是使用 Javascript ?

因為 Facebook 的 js 寫的很爛只能跑在「較新版」的 Chrome 例如 v62 ,而 Google 可以跑在 Chrome v44 所以使用 PHP 沒有 js 相容性問題

2,856 total views, 3 views today

Let’s Encrypt – *.hoyo.idv.tw 通配網域證書

參考

取得 certbot-auto 及執行

執行,記得產生一個通配網域一個只有網域名稱證書,如此單獨使用網域名稱時才不會 SSL_ERROR_BAD_CERT_DOMAIN 證書問題

編輯 DNS

重新啟動 DNS

驗證

Enter 繼續執行,沒問題出現以下畫面就代表證書建立完成

Online dig

自動更新證書

-目前手動更新中-

Bind 9 動態 DNS

 

其他注意事項

  • 失敗的指令也會算在 Rate Limits
  • SSL_ERROR_BAD_CERT_DOMAIN : hoyo.idv.tw 等於 *.hoyo.idv.tw ,必須使用 hoyo.idv.tw 證書或是將 hoyo.idv.tw 轉到 www.hoyo.idv.tw 才能套用通配網域證書

235 total views, no views today