發表於 程式分享

ionic 2 FCM Notification icon (android) 如何設定

1.將1024 * 1024 png檔透過去背功能後,上傳至http://romannurik.github.io/AndroidAssetStudio/icons-notification.html
其中Trim whitespace請用Don’t trim
Padding用0%
Name用fcm_push_icon
1
下載檔案請解壓縮後放至[Project name]\platforms\android\res各相對應目錄
1
PS.目前還未找到如何在ionic專案先設定,故先於platforms\android路徑存放這些png檔

2.此項有做,但尚不確定是否需做~~先記錄
於config.xml加入(會產生至[Project Name]\platforms\android\res\xml\config.xml)


        <icon density="ldpi" src="resources/android/fcm_push_icon/drawable-ldpi-fcm_push_icon.png" />
        <icon density="mdpi" src="resources/android/fcm_push_icon/drawable-mdpi-fcm_push_icon.png" />
        <icon density="hdpi" src="resources/android/fcm_push_icon/drawable-hdpi-fcm_push_icon.png" />
        <icon density="xhdpi" src="resources/android/fcm_push_icon/drawable-xhdpi-fcm_push_icon.png" />
        <icon density="xxhdpi" src="resources/android/fcm_push_icon/drawable-xxhdpi-fcm_push_icon.png" />
        <icon density="xxxhdpi" src="resources/android/fcm_push_icon/drawable-xxxhdpi-fcm_push_icon.png" />

3.設定icon為fcm_push_icon即指項app內的resource,color則是設定icon之顏色


string deviceId = "/topics/marketing";
var data = new
{
        to = deviceId,
        notification = new
        {
              body = message,
              title = title,
              sound = "Enabled",
              icon = "fcm_push_icon",
              color = "#FF0000"
         }
};
var serializer = new JavaScriptSerializer();
var json = serializer.Serialize(data);
logger.Info("json: " + json);
Byte[] byteArray = Encoding.UTF8.GetBytes(json);
tRequest.ContentLength = byteArray.Length;
發表於 程式分享

ionic 2 (from Visual Studio) build iphone/ipad遇到問題

1.Visual studio remote build出現VcTac System.IO.PathTooLongException
目前找到的解法就是於windows只支援248bytes的路徑名稱及260bytes的檔案名稱,
只好將Visual studio專案移至近根目錄

直接用XCode Debug遇到如下問題:
2.invalid GOOGLE_APP_ID in GoogleService-Info.plist or set in the customized options
GoogleService-Info.plist於ionic2 (in Visual Studio)是由https://console.firebase.google.com設定iOS應用程式後下載的,但build ios時不知何原因未正確copy,致專案未能執行,故再重新複製至
/Users/[macbook user name]/.taco_home/remote-builds/taco-remote/builds/720/cordovaApp/platforms/ios/[project name]/Resources

3.CDV plugin not exist
/Users/[macbook user name]/.taco_home/remote-builds/taco-remote/builds/720/cordovaApp/platforms/ios/[project name]/config.xml widget element新增

  <feature name="StatusBar">
 <param name="ios-package" value="CDVStatusBar" />
 <param name="onload" value="true" />
 </feature>
 <feature name="FCMPlugin">
 <param name="ios-package" value="FCMPlugin"/>
 </feature>
 <feature name="Device">
 <param name="ios-package" value="CDVDevice"/>
 </feature>
 <feature name="Console">
 <param name="ios-package" value="CDVLogger" />
 </feature>
 <feature name="BarcodeScanner">
 <param name="ios-package" value="CDVBarcodeScanner" />
 </feature>
 <feature name="SplashScreen">
 <param name="ios-package" value="CDVSplashScreen" />
 </feature>
 <feature name="Badge">
 <param name="ios-package" value="APPBadge"/>
 </feature>