ஃபயர்பேஸ்-தொடர்-19-ஆண்ட்ராய்டு ஃபயர் பேஸில் நிகழ்வுநேர தரவுதளம்

ஆண்ட்ராய்டு ஃபயர்பேஸ் தரவுதளமானது, ஃபயர்பேஸின் நிகழ்வுநேர தரவுதளம் என்றும் அழைக்கப்படுகிறது, இது மேககணினி அடிப்படையிலான NoSQL தரவுத்தளத்தைப் பயன்படுத்தி தரவுகளை ஒத்திசைவாக சேமித்துவைக்க பயன்படுகிறது. நம்முடைய ஆண்ட்ராய்ட் ஃபயர்பேஸ் தரவுதளத்தில் இருக்கும் தரவுகளானவை ஆண்ட்ராய்டு, ஐஓஎஸ், இணையம் போன்ற பல தளங்களில் ஒருங்கிணைக்கப்பட்டு, பல நேரங்களில் நேரடியாக வாடிக்கையாளர்களிடையே ஒத்திசைவாக செயல்படுத்திடலாம்.
ஆண்ட்ராய்டு ஃபயர்பேஸ் தரவுதளமானது இணைய இணைப்பில்லா மலும் செயல்படும் திறன்மிக்கது, நம்முடைய சாதனமானது இணைய இணைப்பில்லாமல் இருக்கும்போதும் தரவுகளைத் தக்க வைத்துக் கொள்ளும். திறனை வழங்குகின்றது
ஆண்ட்ராய்ட் ஃபயர்பேஸ் தரவுதளத்தில் தரவுகள் JSON முனைமங்களாக சேமிக்கப்படுகிறது. ஃபயர்பேஸ் நிகழ்நேர தரவுதள பாதுகாப்பு விதிகள், நம்முடைய தரவின் கட்டமைப்பைத் தீர்மாணிக்கிறது, படிக்க மற்றும் எழுத அணுகிடும் அனுமதியை கட்டமைக்கின்றது.
ஆண்ட்ராய்ட் ஃபயர்பேஸ் தரவுதளத்தினை உருவாக்குதல்
இதற்காக பின்வரும்படிமுறைகளை பின்பற்றிடுக
1.முதலில் ஃபயர்பேஸின் https://firebase.google.com/ எனும் முகவரியிலுள்ள இதனுடைய இணையதளபக்கத்திற்கு செல்க அங்கு நமக்கென தனியாக கணக்கொன்றினை துவங்கிடுக தொடர்ந்து இதனுடைய முகப்பு திரைக்கு செல்க அங்கு Create New Project எனும் பொத்தானை தெரிவுசெய்து சொடுக்குதல் செய்து புதிய செயல்திட்டத்தினை துவக்குக
2. பின்னர் இந்த செயல்திட்டத்திற்கான பெயர் தற்போது நாம் வாழும் நாட்டின் பெயர் ஆகிய விவரங்களை உள்ளீடு செய்து கொண்டு Create Projectஎனும் பொத்தானை தெரிவுசெய்து சொடுக்குக

3. அடுத்து தோன்றிடும் திரையில் Add Firebase to your Android app எனும் வாய்ப்பினை தெரிவுசெய்து சொடுக்குக அதனைதொடர்ந்து இந்த செயல்திட்ட தொகுப்பின் விளக்கங்களையும் உள்நுழைவு சான்றிதழிற்கானSHA-1எனும் திறவுகோளையும் சேர்த்திடுக இது இயக்கநேர இணைப்புகள் ,அழைப்புகள் ,கூகுளின் உள்நுழைவு ஆகியவற்றுகளுக்கானதாகும் தேவையென விரும்பினால் இந்தSHA-1 ஐ சேர்த்திடுக இது கூகுள் சேவைகளுக்கான google-services.jsonஎனும் கோப்பினை பதிவிறக்கம் செய்து கொள்கின்றது இதனை நாம் பின்னர் இணைத்து கொள்வோம்

4.தொடர்ந்து விரியும் செயல்திட்டமுகப்பு திரையில் Auth Menu எனும் பட்டியலை தெரிவுசெய்து சொடுக்குக அதன்பின்னர் SIGN-IN METHOD என்பதிலுள்ள Email/Passwordஎன்பதை தெரிவுசெய்து சொடுக்குதல் செய்து அதனை இயலுமை செய்து கொள்க இவ்வாறான அடிப்படைகளை செய்தபின்னர் தான் ஆண்ட்ராய்டு ஃபயர்பேஸ் தரவுதளத்தில் அனுமதிபெற்றவர்களைமட்டும் இந்த தரவுதளத்தில் படித்திடவும் எழுதிடவும் அனுமதிக்கும் அதனைதொடர்ந்து ஃபயர்பேஸின் பட்டியில் Database எனும்தாவிபொத்தானை தெரிவுசெய்து சொடுக்குக உடன் JSON tree அமைப்பின் வேர்பகுதியை காண்பிக்கும் அதில் ஒரு listItems எனும்child node ஐ சேர்த்திடுக

அதன் கீழ்தான் நாம் ஒவ்வொன்றையும் சேர்த்திடமுடியும் JSON tree அமைப்பில் தரவினை சேர்த்தால் அது நடப்பிலிருக்கும் JSON tree அமைப்பில் புதிய முனைமமாகவும் அதற்கான திறவுகோளாகவும் மாறியமையும் விதிகள் சரியாக இருக்கின்றதாவென Rules எனும் தாவிப்பொத்தானை தெரிவுசெய்து சொடுக்குதல் செய்து சரிபார்த்துகொள்ளலாம்அல்லது இந்த Android Firebase Database இல் பாதுகாப்பு விதிகளை நாம் எழுதுவதற்கும் படிப்பதற்கும் தேவையானவாறு திருத்தம் செய்து கொள்ளலாம் அதனோடு அனுமதியில்லாமலேயே Android Firebase Database ஐ சுதந்திரமாக அனுகிடுமாறு விதிகளை மாற்றியமைத்து கொண்டு நம்முடைய மளிகை பொருட்களுக்கானGrocery Application எனும் பயன்பாட்டினை உருவாக்கி இந்த ஆண்ட்ராய்டு ஃபயர்பஸ் தரவுதளத்துடன் இனணைத்திடுக தொடர்ந்து நாம் ஏற்கனவே உருவாக்கிய Firebase Authentication ஐ பயன்படுத்தி இதன் முகப்புதிரைக்கு செல்வதற்கு இயலுமை செய்து கொள்க


4
ஆண்ட்ராய்ட் ஃபயர்பேஸ் தரவுதளத்தினை உருவாக்குவதற்கு தேவையானவை கள்
1.1.Android Studio 1.5 அல்லது அதற்கு மேம்பட்ட பதிப்பு நிறுவுகை செய்யப்பட்ட கணினி ,
மேலும் ஆண்ட்ராய்டு SDK மேலாளர் வாயிலாக சமீபத்திய Google Play services SDK ஐ பதிவிறக்கம் செய்து கொள்க
2.நேரடியாக நிகழ்வுநேரஆண்ட்ராய்டு செயல்படும் சாதனமான ஆண்ட்ராய்டு ஸ்டுடியோ கட்டமைக்கப்பட்டுள்ள திறன்பேசி அல்லது மடிக்கணினி இந்த சாதனத்தில் ஆண்ட்ராய்டு 2.3 அல்லது அதற்குமேம்பட்டபதி்ப்பு செயல்படுவதாக இருக்குமாறு பார்த்து கொள்க மேலும் Google Play services 9.2.0 அல்லது அதற்குமேம்பட்ட பதிப்புசெயல்படுவதாக இருக்கவேண்டும் இவையனைத்தும் தயாராக இருப்பதை உறுதி செய்து கொண்டபின்னர்
ஒரு புதிய செயல்திட்டத்தினை உருவாக்கிடும் செயல்படுத்திடவேண்டும்
1. இதற்காக File → New → New Project என்றவாறு கட்டளைகளை செயற்படுத்திடுக உடன் தோன்றிடும் திரையில் நம்முடைய பயன்பாட்டிற்கு ஒரு பெயரை உள்ளீடு செய்திடுக .அடுத்து நம்முடைய நிறுவனத்தின் உலகளாவிய ஒருங்கிணைந்த பெயரை உள்ளீடுசெய்திடுக (குறிப்பு.ஃபயர் பேஸிலும் இதே கட்டுகளின் பெயரைத்தான் வைக்கவிருக்கின்றோம் எனும் செய்தியை மனதில் கொள்க ) தொடர்ந்து இந்த செயல்திட்டத்தின் இடஅமைவையும் குறைந்தபட்ச SDKவையும் தெரிவுசெய்து கொள்க . அடுத்து தோன்றிடும் திரையில் நம்முடைய குறிமுறைவரிகளை இதில் சேர்ப்பதற்காக Empty Activity என்பதை தெரிவுசெய்து கொண்டு Nextஎனும் பொத்தானை தெரிவுசெய்து சொடுக்குக அதன்பின்னர் நம்முடைய செயலியின் பெயரை தெரிவுசெய்து கொண்டபின்னர்Generate Layout Fileஎனும் தேர்வுசெய்பெட்டி தெரிவு செய்திருப்பதை உறுதி செய்து கொண்டு Finishஎனும் பொத்தானை தெரிவுசெய்து சொடுக்குக செயலியின் பெயராக ListItemsActivity என்பதை வைத்துகொள்க இதை பயன்படுத்திதான் நாம் மளிகைபொருட்களை உள்ளீடு செய்யவிருக்கின்றோம்
அனுமதியையும் சார்ந்திருப்பவையையும் சேர்த்தல்
1.Gradle ஆனது இந்த செயல்திட்டத்திற்குள் ஒத்திசைவாக ஆனபிறகு நம்முடைய பயன்பாட்டு கோப்பகத்திற்கு google-services.json எனும் கோப்பினை சேர்த்திடுக
2. நமக்கு வலைபின்னலை இணைப்பதற்கான இணைய அனுமதியை AndroidManifest.xml எனும் கோப்பில் சேர்த்திடவேண்டும் அதற்கான குறிமுறைவரிபின்வருமாறு
classpath ‘com.google.gms:google-services:3.0.0’
3. தற்போது நம்முடைய build.gradleஎனும் செயல்திட்டத்தினை செயல்திட்டமுதன்மை கோப்பகத்திலிருந்து திறந்து அதில் build.gradle எனும் சார்பினை சேர்த்திடுக
4.பிறகு நம்முடைய build.gradle எனும் பயன்பாட்டினை திறந்து அதில் பின்வரும் குறிமுறைவரியை சேர்த்திடுக
apply plugin: ‘com.google.gms.google-services’
5.மேலும் சார்புகளின் பிரிவில் பின்வரும் சார்புகளை சேர்த்திடுக
compile ‘com.google.firebase:firebase-auth:9.0.2’
compile ‘com.google.firebase:firebase-core:9.0.2’
compile ‘com.google.firebase:firebase-database:9.0.2’
compile ‘com.android.support:recyclerview-v7:24.2.0’
ஆண்ட்ராய்டு ஃபயர்பேஸின் நிகழ்வுநேர தரவுதளத்தில் பணிபுரிதல்
இதற்காக ListItem.java எனும்ஒரு ஜாவா இனத்தை உருவாக்கிடுக மளிகைபொருட்கள் கடைக்கான மாதிரி இனமாக நம்முடைய தரவுதளத்திற்கு சேர்த்துகொள்வதற்காக செயல்படுத்திடலாம் அதில் பின்வரும் குறிமுறைவரிகளை சேர்த்திடுக
ListItem.java
package com.androidtutorialpoint.firebasegrocerylistapp;
import com.google.firebase.database.Exclude;
import com.google.firebase.database.IgnoreExtraProperties;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
@IgnoreExtraProperties
public class ListItem {
public String listItemText;
public String listItemCreationDate;
public String getListItemText() {
return listItemText;
}
public void setListItemText(String listItemText) {
this.listItemText = listItemText;
}
public void setListItemCreationDate(String listItemCreationDate) {
this.listItemCreationDate = listItemCreationDate;
}
@Override
public String toString() {
return this.listItemText +”\n” + this.listItemCreationDate;
}
public String getListItemCreationDate() {
return listItemCreationDate;
}
public ListItem() {
// DataSnapshot.getValue(ListItem.class) என்பதை அழைப்பதற்கு இயல்புநிலையிலுள்ள //constructorஎன்பது நமக்குத்தேவையாகும்
}
public ListItem(String listItemText) {
SimpleDateFormat sdf = new SimpleDateFormat(“dd-M-yyyy hh:mm:ss”);
this.listItemCreationDate = sdf.format(new Date());
this.listItemText = listItemText;
}
@Exclude
public Map toMap() {
HashMap result = new HashMap();
result.put(“listItemText”, listItemText);
result.put(“listItemCreationDate”, listItemCreationDate);
return result;
}
}

ஃபயர்பேஸ்-தொடர்-18- ஆண்ட்ராய்டு ஃபயர்பேஸின் மேககணினி செய்திகள் தொடர்ச்சி செயலியை சேர்த்தல் (Adding Functionality)

இதற்காக MyAndroidFirebaseMsgService எனும் பெயரில்ஒரு புதிய ஜாவா இனத்தை உருவாக்குக அதில் பின்வரும் குறிமுறைவரிகளை சேர்த்திடுக.இது FirebaseMessagingService ஐ நீட்டிக்கும் சேவையாகும். இது பின்புலத்தில் அனைத்து வகையான செய்தி கையாளுதல்களையும் செய்கிறது தொடர்ந்து அவை கிடைக்கும் போது புஷ் அறிவிப்பினை அனுப்புகிறது.
MyAndroidFirebaseMsgService
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.media.RingtoneManager;
import android.net.Uri;
import android.support.v4.app.NotificationCompat;
import android.util.Log;
import com.google.firebase.messaging.FirebaseMessagingService;
import com.google.firebase.messaging.RemoteMessage;
public class MyAndroidFirebaseMsgService extends FirebaseMessagingService {
private static final String TAG = “MyAndroidFCMService”;
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
//புகுபதிவு கேட்(Cat)டிற்கு தரவை பதிவு செய்க
Log.d(TAG, “From: ” + remoteMessage.getFrom());
Log.d(TAG, “Notification Message Body: ” + remoteMessage.getNotification().getBody());
//அறிவிப்பை உருவாக்குக
createNotification(remoteMessage.getNotification().getBody());
}
private void createNotification( String messageBody) {
Intent intent = new Intent( this , ResultActivity. class );
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
PendingIntent resultIntent = PendingIntent.getActivity( this , 0, intent,
PendingIntent.FLAG_ONE_SHOT);
Uri notificationSoundURI =
RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
NotificationCompat.Builder mNotificationBuilder = new NotificationCompat.Builder( this)
.setSmallIcon(R.mipmap.ic_launcher)
.setContentTitle(“Android Tutorial Point FCM Tutorial”)
.setContentText(messageBody)
.setAutoCancel( true )
.setSound(notificationSoundURI)
.setContentIntent(resultIntent);
NotificationManager notificationManager =
(NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.notify(0, mNotificationBuilder.build());
}
}
onMessageReceived()எனும் செயலியை நாம் அழைத்தால் உடன் செய்திஅறிவிப்பு ஒன்றினை கிடைக்கப்பெறுவோம் இந்த செயலிக்குள் LogCatஎனும் முகப்புதிரைக்கு பூட்டிடும் செய்தியை பெறுவோம் தொடர்ந்து உரைச்செய்தியுடன் createNotification() எனும் செயலியை அழைத்திடுகின்றது இந்த createNotification() எனும் வழிமுறை படத்தில்காண்பித்துள்ளவாறு ஒருபுஷ் செய்திஅறிவிப்பொன்றை ஆண்ட்ராய்டு செய்திபகுதியில் உருவாக்குகின்றது

நாம் NotificationCompat.Builderஎன்பதை பயன்படுத்தி ஒரு புதிய செய்திஅறிவிப்பை இயல்புநிலை ஒலிசெய்தி அறிவிப்புடன் உருவாக்கிடலாம் தொடர்ந்து இணையத்திற்கு ResultActivityஎன்பதை கடத்தலாம் .
2. MyAndroidFirebaseInstanceIdService எனும் ஒரு ஜாவா இனத்தை உருவாக்கிடுக அதில் பின்வரும் குறிமுறைவரிகளை சேர்த்திடுக இது ஃப்யர்பேஸின் தயார்நிலை சேவையாளரின் விரிவாக்க சேவையாக விளங்குகின்றது தொடர்ந்து இது நுழைவு அட்டையை உருவாக்குதல் பதிவுசெய்தல் சுழல்முறையில் மாற்றுதல் ஆகிய பணிகளை கைாளுகின்றது .மேலும் இது குறிப்பிட்ட செய்தியை குறிப்பிட்ட சாதனங்கள் / சாதன குழுக்களுக்கு அனுப்பியிருப்பதை உறுதி செய்கிறது.
import android.util.Log;
import com.google.firebase.iid.FirebaseInstanceId;
import com.google.firebase.iid.FirebaseInstanceIdService;
public class MyAndroidFirebaseInstanceIdService extends FirebaseInstanceIdService {
private static final String TAG = “MyAndroidFCMIIDService”;
@Override
public void onTokenRefresh() {
//நுழைவுஅட்டையை பெற்று வைத்திருக்கவும்
String refreshedToken = FirebaseInstanceId.getInstance().getToken();
//நுழைவுஅட்டையை பதிவுசெய்திடுக
Log.d(TAG, “Refreshed token: ” + refreshedToken);
}
private void sendRegistrationToServer(String token) {
//நம்முடைய சேவையக கணினியில் நுழைவுஅட்டையை சேமித்து வைத்திட நாம் விரும்பினால் உடன் இந்த வழிமுறையை செயல்படுத்திடுக
}
}
இதன்பின்னர் onTokenRefreshcallback எனும் செயலியானது ஒருபுதிய நுழைவுஅட்டை உருவாக்கிடும் செயலை தூண்டிவிடுகின்றது onTokenRefresh() எனும் போட்டியில்getToken() எனும் செயலியை அழைத்து நடப்பில் தயாராக இருக்கும் நுழைவு அட்டைபதிவை அனுகுவதற்காக உறுதிபடுத்திடுகின்றது அதன்பின்னர் நாம் மிகசாதாரணமாக புத்தாக்கம் செய்து உள்நுழைவுஅட்டையை உள்நுழைவுசெய்திட பயன்படுத்தி கொள்ளமுடியும்
பின்னர் activity_main.xml எனும் கோப்பினை திறந்துஅதில் பின்வரும் குறிமுறைவரிகளை சேர்த்திடுக. தற்போது செயல்களின் பெயரைமட்டும் திரையில் காண்பிக்குமாறு ஒரேயொரு TextView ஐ மட்டும் நாம் கைவசம் வைத்துள்ளோம்
activity_main.xml

1. MainActivity.javaஎன்பதன் உள்ளடக்கங்கள் மட்டும் இயல்புநிலையில் முன்னிருப்பாக இருக்கும்
MainActivity.java
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
public class MainActivity extends AppCompatActivity {
இதனை தொடர்ந்து ResultActivity.javaஎனும் ஒரு புதிய ஜாவாவின் செயலியை உருவாக்கிடுக அதில் பின்வரும் குறிமுறைவரிகளை சேர்த்திடுக
ResultActivity.java
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.TextView;
public class ResultActivity extends AppCompatActivity {
private TextView textView ;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView = (TextView)findViewById(R.id.textView1);
textView.setText(“Welcome to the Result Activity”);

}
}
இதன் இறுதி விளைவாக செயல்பாட்டிற்கான activity_main.xml இன் தளவமைப்பை மீண்டும் பயன்படுத்துகின்றோம், மேலும் “Welcome to the Result Activity என உரையை மாற்றுவோம்
செய்தி அறிவிப்பினை பெறப்பட்ட வுடன் பயனாளர் ஒருவர் அதனை சொடுக்கும்போது இந்த செயல்பாடு அழைக்கப்படும்.

இப்போது பயன்பாடு அனைத்தும் முடிவடைந்துவிட்டது, அதனை தொடர்ந்து FirebaseNotifications எனும் குழுவிலிருந்து அறிவிப்பு ஒன்றினை அனுப்புவதன் மூலம் நம்முடைய பயன்பாட்டை பரிசோதித்து பார்த்திடுவோம்.
ஃபயர்பேஸின் முகப்புபக்கத்திற்குள் உள்நுழைவுசெய்தபின்னர் பின்வரும் படங்களில் உள்ள படிமுறைகளை பின்பற்றிடுக.

மேலே படங்களில் காண்பித்தவாறு செயற்படுத்தியவுடன் புதிய அறிவிப்பு செய்தியொன்று உடன் பின்வருமாறு உருவாகின்றது வாழ்த்துக்கள் !! தற்போது நாம் செய்தி மற்றும் புஷ் அறிவிப்புகளுக்காக நாம் Firebase Cloud Messaging ஐ ஆண்ட்ராய்டு பயன்பாட்டுடன் வெற்றிகரமாக ஒருங்கிணைத்து விட்டோம் . அதனை தொடர்ந்து ஃபயர்பேஸின்முகப்புத்திரையிலுள்ள அறிவிப்புகளின் பலகத்தில் அனைத்து செய்திகளையும் நாம் காணலாம்

ஃபயர்பேஸ்-தொடர்-17- ஆண்ட்ராய்டு ஃபயர்பேஸின் மேககணினி செய்திகள்(FCM)

ஆண்ட்ராய்டு பயன்பாட்டிற்குள் மேககணினி செய்தியை சேர்ப்பதற்கு ஃபயர் பேஸை பயன்படுத்தி கொள்ளவிருக்கின்றோம் .உடன் ஃபயர்பேஸின் மேககணினி செய்திகள் என்றால் என்ன என்ற கேள்வி நம்மனைவரின் மனதில் தோன்றிடும் நிற்க
FCM எனசுருக்கமாக அழைக்கப்படும் ஃபயர்பேஸின் மேககணினி செய்திகள் (Firebase Cloud Messaging)என்பது சக்திவாய்ந்த பயன்பாட்டு நிரல்தொடர்இடைமுகம்(API) ஆகும், இது நாம் உருவாக்கிடும் தளத்திற்கு தேவையான நம்பகமான மற்றும் சுதந்திரமான செய்திகளை வழங்க உதவுகின்றது. இந்த FCM ஐ பயன்படுத்தி, நிரல்தொடராளர்களிடம் புதிய தரவு ஒத்திசைவுக்காக தயாராக இருக்கின்றது என அறிவிக்க வும் அவ்வாறான அறிவிப்பு செய்திகளை அனுப்பவும் முடியும். மேலும் பயன்பாடுகளை பரிசோதிப்-பதற்கும், சந்தைக்கு அனுப்புவதற்கும் செய்திகளை பயன்படுத்தி கொள்ளவும் இது மிகவும் பயனுள்ளதாகஅமைகின்றது. அதுமட்டுமல்லாது இது முன்கூட்டியேகட்ட மைக்கப்பட்ட இலக்கு மற்றும் பகுப்பாய்வுகளுடன் கிடைக்கின்றது. நாம் இந்த FCM இன் வாயிலாக 4கேபி அளவு வரையிலான தயார்நிலை செய்திகளை அனுப்பமுடியும்.
ஃபயர்பேஸ் மேககணினி செய்தி முறையின் ஒரு பொதுவான செயல்பாடானது, பயன்பாட்டு சேவையகத்தை இந்த FCM உடன் HTTP அல்லது XMPP நெறிமுறையில், ஒரு வாடிக்கையாளர் பயன்பாட்டினை பயன்படுத்தி இடைமுகம் செய்கின்றது.
பயன்பாட்டு சேவையகத்தை அல்லது ஃப்யர்பேஸின் அறிவிப்பு முகப்பை பயன்படுத்தி வாடிக்கையாளர் பயன்பாட்டிற்கு. செய்திகளையும் அறிவிப்புகளையும் அனுப்ப முடியும் ஆண்ட்ராய்டு பயன்பாட்டினை உருவாக்கிடும் தொடக்கநிலை நிரல்தொடராளர்கூட மிகவும் எளிதாக ஆண்ட்ராய்டு மேகக்கணி செய்தியினை உருவாக்கிடமுடியும் என இந்த FCM ஜ பற்றி இரத்தின சுருக்கமாககூறலாம்
இந்த பயிற்சியில் நாம் ஒரு எளிய ஆண்ட்ராய்டு ஃபயர்பேஸ் மேககணினி செய்தி பயன்பாட்டை எவ்வாறு உருவாக்குவது எனகாணவிருக்கின்றோம் அது ஃபயர்பேஸ் ஆண்ட்ராய்டு உள்நுழைவு செயல் பாட்டினை பயன்படுத்தி கொள்ளும். ஆண்ட்ராய்டானது ஃபயர் பேஸின் மேககணினி செய்தி யுடன் ஒருங்கிணைத்து செயல்படுவதற்கும் பெறுவதற்கும் நமக்கு உதவத்தயாராக இருக்கின்றது
நம்முடைய தொலைபேசிக்கான புஷ் அறிவிப்புகளை அனுப்புவதற்கான Notification Compatஐ பற்றி இதுவிவாதிப்பதால் . இது ஒரு ஆண்ட்ராய்டுஅறிவிப்பு பயிற்சி போல செயல்படும் என மேலும் அறிந்து கொள்க
ஃபயர்பேஸ் மேககணினி செய்தியை சேர்த்தல்
ஃபயர்பேஸைப் பயன்படுத்தி புஷ் அறிவிப்புகளுக்காக நம்முடைய பயன்பாட்டிற்குள் இந்த FCM ஐ சேர்க்க பின்வரும் படிமுறைகளை பின்பற்றிடுக:
படிமுறை.1. முதலில் https://firebase.google.com/எனும் ஃபயர்பேஸின் இணையதளத்திற்கு செல்க அங்கு நமக்கென ஃபயர் பேஸ் கணக்கொன்றினை துவங்குக பின்னர் ஃபயர்பேஸின் முகப்புத்திரைக்கு செல்க அங்கு Create New Project எனும் பொத்தானை தெரிவுசெய்து சொடுக்குதல் செய்து ஒரு புதிய செயல்திட்டத்தினை உருவாக்கிடுக

1
படிமுறை.2. தொடர்ந்து நம்முடைய செயல்திட்டத்திற்கு ஒரு பெயரிடுக அதனோடு தற்போது நாமிருக்கும் நம்முடைய நாட்டின் பெயரை யும் குறிப்பிடுக.
பின்னர் Create Projectஎனும் பொத்தானை தெரிவுசெய்து சொடுக்குக.

2
படிமுறை.3. அடுத்து தோன்றிடும் திரையில் Add Firebase to your Android app எனும் வாய்ப்பினை தெரிவுசெய்து கொண்டு நிரல் தொடர்கட்டுகளின் விவரங்களையும் பிழைத்தடுப்பு கையொப்ப சான்றிதழின் SHA-1எனும் திறவுகோளையும் சேர்த்து கொள்க இயக்கநேர இணைப்புகள், அழைப்புகள் ,கூகுளின் உள்நுழைவு போன்ற பல்வேறு வசதி வாய்ப்புகளை நாம் இயலுமை செய்திட விரும்பினால இது தேவையாகும் அவ்வாறு இல்லையெனில் இது நம்முடைய விருப்பத்தேர்வாகும்

3
இந்த பிழைத்தடுப்பு கையொப்ப சான்றிதிழான SHA-1 என்பதன்fingerprint எனும் திறவுகோளை எவ்வாறு உருவாக்குவது என சந்தேகமாக இருந்தால் https://www.androidtutorialpoint.com/material-design/adding-google-login-android-app/என்ற இணையதள முகவரியிலுள்ளGenerate SHA-1 fingerprint எனும் தலைப்பின் கீழ் சென்று நன்கு அறிந்து தெளிவுபெற்றிடுக
இது google-services.jsonஎனும் கோப்பினை பதிவிறக்கம் செய்கின்றது அதனை நம்மடைய கணினியில் பதிவிறக்கம் செய்து கொள்க நம்முடைய ஆண்ட்ராய்டு பயன்பாட்டில் நாம் இதனை பின்னர் சேர்த்து கொள்ளலாம் மேலே கூறியவாறு செய்து முடித்தபின்னர் ஃபயர்பேஸின் மேககணினி செய்தி சேவையிலிருந்து வருகின்ற செய்தியை பெறுவதற்கான ஆண்ட்ராய்டு வாடிக்கையாளர் பயன்பாடு ஒன்றினை உருவாக்கவேண்டும் பிழைச்செய்திகளும் வேறு பிரச்சினைகளும் நம்முடைய செயல்திட்டத்தில் குறுக்கிடுவதை தவிர்ப்பதற்காக பின்வரும் முன்கூட்டியேயான தேவைகளை நடைமுறைபடுத்தியிருப்பதை உறுதிபடுத்தி கொள்க
ஃபயர்பேஸின் மேககணினிசெய்திக்கான முன்கூட்டிய தேவைகள்
1. நம்முடைய கணினியில் Android Studio 1.5அல்லது சமீபத்திய பதிப்பு நிறுவுகை செய்யப் பட்டுள்ளதாவென உறுதிபடுத்தி கொள்க மேலும் Android SDKவின் மேலாளர் வாயிலாக சமீபத்தியGoogle Play services SDK ஐ பதிவிறக்கம் செய்து கொள்க
2. அடுத்து Android 2.3 (Gingerbread)அல்லது சமீபத்திய ஆண்ட்ராய்டின் பதிப்பு நிறுவுகை செய்யப்பட்டு கட்டமைக்கப்பட்டு நன்கு இயங்ககூடிய திறன்பேசி (Smartphone)அல்லது மடிக்கணினி (Tablet) தயாராக உள்ளதாவென சரிபார்த்துகொள்க
3.மேலும் நம்முடைய ஆண்ட்ராய்டு செயல்திட்டத்தில் சேர்ப்பதற்கான ஃபயர்பேஸின் SDK உள்ளதாவென சரிபார்த்து கொள்க
ஒரு புதிய செயல்திட்டத்தினை உருவாக்கிடுதல்
படிமுறை.1.திரையின் மேலே கட்டளைபட்டையில் File → New → New Projectஎன்றவாறு கட்டளைகளை செயற்படுத்திடுக தொடர்ந்து தோன்றிடும் திரையில் நம்முடைய பயன்பாட்டிற்கு ஒரு பெயரிடுக
படிமுறை.2.உலகமுழுவதும்உள்ளவர்கள் நம்முடைய பயன்பாட்டு கட்டுகளை எளிதாக பயன்படுத்தி கொள்வதற்கான தனித்துவமான அடையாளம் காணஉதவிடும் நம்முடைய நிறுவனத்தின் களப்பெயரை உள்ளீடு செய்திடுக இதே கட்டின் களப்பெயரையே ஃபயர்பேஸின் முகப்புதிரையிலும் பயன்படுத்தி கொள்ளவிருக்கின்றோம் என்ற செய்தியை மனதில் இருத்தி கொள்க
படிமுறை.3. செயல்திட்ட இடவமையும் குறைந்தபட்ச SDKவையும் தெரிவுசெய்து கொள்க அடுத்து தோன்றிடும் திரையில் Empty Activityஎன்பதை தெரிவுசெய்து கொள்க ஏனெனில் பெரும்பாலான குறிமுறைவரிகளை நாம் இதில் சேர்க்கவிருக்கின்றோம் தொடர்ந்து Nextஎனும் பொத்தானை தெரிவுசெய்து சொடுக்குக
படிமுறை.4.இந்த செயலிற்கு MainActivity.என்றவாறு ஒரு பெயரை தெரிவுசெய்து கொள்க .தொடர்ந்து Generate Layout Fileஎனும் தேர்வுசெய்பெட்டி தெரிவுசெய்திருப்பதை உறுதி செய்து கொள்க இல்லையெனில் நாமே இதனை உருவாக்க வேண்டியிருக்கும் இறுதியாகFinishஎனும் பொத்தானை தெரிவுசெய்துசொடுக்குக .இந்நிலையில்Gradleஎன்பது நம்முடைய செயல்திட்டத்தை கட்டமைவு செய்து சார்ந்திருப்பதையும் தீ்ர்வுசெய்திடலாம் தொடர்ந்து இந்த செயல்முடிவுபெற்றுவிட்டால் அடுத்த படிமுறைக்கு செல்லலாம்
அனுமதிப்பதும் சார்ந்திருப்பதும்
Gradleஎன்பது செயல்திட்டத்துடன் ஒத்திசைவாக செய்த பிறகு, நம்முடைய செயல்திட்டத்தின் பயன்பாட்டு கோப்புறையிலுள்ள google-services.json எனும் கோப்பைச் கீழே காட்டப்பட்டுள்ளவாறு சேர்த்திடுக

4

AndroidManifest.xmlஎனும் கோப்பில் Internetஎனும் அனுமதியை வலைபின்னலில் சேர்ப்பதற்கு இணைப்பு ஏற்படுத்தவேண்டும் மேலும் ஆண்ட்ராய்டு சாதனத்தில் ஒரு எச்சரிக்கை அறிவிப்பு செய்தியினை உருவாக்குவதற்காக Vibrateஎன்பதை சேர்த்திடுக
AndroidManifest.xml

பின்னனியில் பயன்பாடுகளில் அறிவிப்புகளைப் பெற்ற பிறகுசெய்தியை கையாளும் பொருட்டு FirebaseMessagingService ஐ நீட்டிக்கும் ஒரு சேவைக்காக உள்ளீட்டினை சேர்த்திடுக. பயன்பாடுகளில் இந்த அறிவிப்புகளை பெறுவதற்கு இந்த சேவையை நீட்டித்திடுக.
பயன்பாடு செயலில் இல்லையெனில் அறிவிப்புகள். செயல்படுவதற்காகவும் ஆண்ட்ராய்டு புஷ் அறிவிப்புகள் செயல்படுவதற்கும் இது முற்றிலும் அவசியமாகும்

பதிவு அட்டை ஆயுட்காலத்தினை. கையாளுவதற்குப் பயன்படுத்தப்படும் FirebaseInstanceIdService ஐ விரிவுபடுத்திடும் சேவைக்கானஉள் நுழைவை சேர்த்திடுக. குறிப்பிட்ட சாதனங்களுக்கு/ சாதனங்களின் குழுக்களுக்கு செய்திகளை அனுப்புவதற்காக இது அவசியம் தேவையாகும்.

இதன் விளைவானஒரு செயலிற்காக ஒரு உள்ளீட்டினை சேர்த்திடுக, எந்தவொரு அறிவிப்பினையும் தெரிவுசெய்து சொடுக்குவதன் மூலம் பயனாளர் இந்த செயலை எடுத்துக் கொள்ளலாம்
உதாரணமாக சலுகைகளின் பக்கத்தினை பயனாளர்களுக்கு அனுப்புவதை போன்று. இந்தச் செயல்பாட்டை நம்முடைய பயன்பாட்டில் சில சிறப்பு இடத்துடன் மாற்றுவதற்கு நாம் விரும்பலாம்

இவ்வாறான பணிமுடிந்ததும் நம்முடைய AndroidManifest.xml இன்குறிமுறைவரிகள் பின்வருமாறு இருக்கும்
AndroidManifest.xml
pletion your AndroidManifest.xml should look like this.
AndroidManifest.xml1

இப்போது build.gradle எனும் நம்முடைய செயல்திட்டத்தினை நம்முடைய செயல்திட்டத்தின் முகப்பு கோப்பகத்திலிருந்து திறந்து கொண்டு அதில் பின்வரும் சார்பை சேர்த்திடுக
build.gradle
classpath ‘com.google.gms:google-services:3.0.0’
பிறகு நம்முடைய build.gradle எனும் நம்முடைய பயன்பாட்டினை திறந்து அதன் முடிவில் பின்வரும் குறிமுறைவரிகளை சேர்த்திடுக
build.gradle
apply plugin: ‘com.google.gms.google-services’
வாடிக்கையாளருடைய ஆண்ட்ராய்டின் ஃபயர்பேஸ் மேககணினி செய்தியாளர் பயன்பாட்டினை எழுதுவதற்கு நமக்கு ஃபயர்பேஸின் செய்தியாளர் பயன்பாட்டு நிரல்தொடர்இடைமுகம்(API) தேவையாகும் அதற்காக நம்முடைய build.gradle எனும் பயன்பாட்டின் dependency பகுதியில் பின்வரும் சார்ந்திருப்பவைகளின் குறிமுறைவரிகளை சேர்த்திடுக
compile ‘com.google.android.gms:play-services:9.2.0’
compile ‘com.google.firebase:firebase-messaging:9.2.1’

ஃபயர்பேஸ்-தொடர்-16-ஆண்ட்ராய்டில்ஃபயர்பேஸ் பயன்பாட்டினை உருவாக்குதல் தொடர்ச்சி

இப்போது ஒரு புதிய ஜாவா வகுப்பின் LoginActivity.java என்பதை உருவாக்குக தொடர்ந்து பின்வரும் குறிமுறைவரிகளை அதில் நகலெடுத்து ஒட்டிடுக.
LoginActivity.java
import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.design.widget.TextInputLayout;
import android.support.v7.app.AppCompatActivity;
import android.text.TextUtils;
import android.view.View;
import android.view.WindowManager;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ProgressBar;
import android.widget.Toast;

import com.google.android.gms.tasks.OnCompleteListener;
import com.google.android.gms.tasks.Task;
import com.google.firebase.auth.AuthResult;
import com.google.firebase.auth.FirebaseAuth;

public class LoginActivity extends AppCompatActivity {

private static final String TAG = “LoginActivity”;
private Button btnLogin, btnLinkToSignUp;
private ProgressBar progressBar;
private FirebaseAuth auth;
private EditText loginInputEmail, loginInputPassword;
private TextInputLayout loginInputLayoutEmail, loginInputLayoutPassword;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
auth = FirebaseAuth.getInstance();

loginInputLayoutEmail = (TextInputLayout) findViewById(R.id.login_input_layout_email);
இந்த குறிமுறைவரிகள் SignupActivity.java ஐ ஒத்துள்ளன. தொடர்ந்துஃபயர்பேஸ் செயல்பாட்டை பயன்படுத்திடுக.பின்னர் signInWithEmailAndPassword (மின்னஞ்சல், கடவுச்சொல்) மற்றும் பயனரால் வழங்கப்பட்ட உள்ளீடுகளில் அனுப்புக. அதன்பின்னர் உள்நுழைவு வெற்றிகரமாக இருந்தால் பயனாளர் விவரங்களை காண்பிப்பதற்காக பயனாளர் செயற்பாட்டின் java ஐ தொடங்குக இல்லையெனில் (விவரங்கள் தவறாக இருந்தால்) பயனாளருக்கு தெரிவித்திடுக. பின்னர்புதிய java class UserActivity.java ஐ உருவாக்கிடுக அதில்பின்வரும் குறிமுறைவரிகளை சேர்த்திடுக.
UserActivity.java
import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ProgressBar;
import android.widget.TextView;

import com.google.firebase.auth.FirebaseAuth;
import com.google.firebase.auth.FirebaseUser;

public class UserActivity extends AppCompatActivity {
private Button signOutButton;
private TextView helloUserText;
private FirebaseAuth.AuthStateListener authListener;
private FirebaseAuth auth;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_user);
//firebaseஇன் அங்கீகரகிக்கப்பட்டநிகழ்வை பெறுக
auth = FirebaseAuth.getInstance();
signOutButton = (Button) findViewById(R.id.sign_out);
helloUserText = (TextView) findViewById(R.id.text_user);
authListener = new FirebaseAuth.AuthStateListener() {
@Override
public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
FirebaseUser user = firebaseAuth.getCurrentUser();
if (user == null) {
// பயனாளர் nullஎனஇருந்தால் உள்நுழைவை செயல்படுத்திடுக
startActivity(new Intent(UserActivity.this, LoginActivity.class));
finish();
}
else
{
helloUserText.setText(“Hello
” + user.getEmail() +””);
}
}
};
signOutButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {

signOutButton();
}
});
}
//தளத்திலிருந்து வெளியே றும் வழிமுறை
public void signOutButton() {
auth.signOut();
}
@Override
protected void onResume() {
super.onResume();
}
@Override
public void onStart() {
super.onStart();
auth.addAuthStateListener(authListener);
}
@Override
public void onStop() {
super.onStop();
if (authListener != null) {
auth.removeAuthStateListener(authListener);
}
}
}
இங்கே நாம் FirebaseAuth.AuthStateListener எனும் ஒரு பொருளை உருவாக்கியுள்ளோம். அது பயனாளரின் நிலையை கைவசத்தில் வைத்திருக்கும். பயனாளர் கையொப்பமிட்டிருந்தால், அது ஒரு செய்தியைக் காண்பிக்கும், இல்லையெனில் பயனாளர் உள்நுழைவை துவக்கியவுடன் அதுஉள்நுழைவு செயலியை துவக்கும் பயனாளர் கையொப்பமிடுவதற்கு Firebase signOut () எனும் வழிமுறையைப் பயன்படுத்துகின்ற உள்நுழை பொத்தான் ஒன்றுள்ளது. செயல்பாட்டு வாழ்க்கை சுழற்சி முறையில் onStart () எனும் உள்நுழைவு நிலையை சரிபார்க்க, அவ்வாறு கோருபவரை சேர்த்திடுக.
அதேபோன்று onStop () எனும் வழிமுறையிலும், அவ்வாறு கோருபவரை அகற்றுக. நம்முடைய செயல்திட்டத்தில் பின்வரும் சரத்தின் வளங்களைப் பயன்படுத்துகின்றோம். அதற்காக Strings.xmlஎனும் கோப்பினை திறந்திடுக தொடர்ந்து பின்வரும் ஆதாரங்களைச் சேர்த்திடுக.

Firebase Authentication
Password too short, enter minimum 6 characters!
Authentication error, Please enter a valid email and password or sign
up
Email
Password
LOGIN
Already registered. Login !!
Sign Out
Sign Up !!
Enter a valid email.
Required !!
Enter a valid password with min 6 characters.
Don\’t have an account, Signup !!

, நம்முடைய பயன்பாட்டினைமுன்மாதிரியில் அல்லது ஒரு உண்மையான சாதனத்தில் இயக்குக. ஒரு புதிய ஃபயர்பேஸ் பயனாளரை உருவாக்கிடுக, உடன் verify என்பது Firebase இன் முகப்புதிரையில் பிரதிபலிக்கின்றது. இப்போது ஒரு அறிகுறியைதிரையில் காண்பிக்கச் செய்து, முன்னர் வழங்கிய மின்னஞ்சல் மற்றும் கடவுச்சொல்லைகொண்டு மீண்டும் உள்நுழைவுசெய்திட முயற்சித்திடுக.

ஃபயர்பேஸ்-தொடர்-15-ஆண்ட்ராய்டு ஃபயர்பேஸ் பயன்பாட்டினை உருவாக்குதல் தொடர்ச்சி

முந்தைய 14-தொடரின் தொடர்ச்சியாக தற்போது on Create method எனும் வழிமுறைக்கு பின்னர் utility methodsஎனும் வழிமுறைக்காக பின்வரும் குறிமுறைவரிகளை சேர்த்து கொள்க
Sign Up Activity
private void submit Form() {
String email = signupInputEmail.getText().toString().trim();
String password = signupInputPassword.getText().toString().trim();
if(!checkEmail()) {
return;
}
if(!checkPassword()) {
return;
}
signupInputLayoutEmail.setErrorEnabled(false);
signupInputLayoutPassword.setErrorEnabled(false);
progressBar.setVisibility(View.VISIBLE);
//பயனாளரை உருவாக்குதல்
auth.createUserWithEmailAndPassword(email, password)
.addOnCompleteListener(SignupActivity.this, new OnCompleteListener() {
@Override
public void onComplete(@NonNull Task task) {
Log.d(TAG,”createUserWithEmail:onComplete:” + task.isSuccessful());
progressBar.setVisibility(View.GONE);
// உள்நுழைவு வெற்றியடைவில்லையெனில்LogCatஇற்கு செய்தியயைபூட்டிடுக.,உள்நுழைவு
//வெற்றியெனில் அங்கீகார கணகாணிக்கும்நிலையின் செய்தியை குறிப்பிடுக தொடர்ந்து
// உள்நுழைந்த பயனரைக் கண்காணிக்கும் தருக்கம் கேட்பவரால் கையாளப்படலாம்..
if (!task.isSuccessful()) {
Log.d(TAG,”Authentication failed.” + task.getException());
} else {
startActivity(new Intent(SignupActivity.this, UserActivity.class));
finish();
}
}
});
Toast.makeText(getApplicationContext(), “You are successfully Registered !!”,
Toast.LENGTH_SHORT).show();
}
private boolean checkEmail() {
String email = signupInputEmail.getText().toString().trim();
if (email.isEmpty() || !isEmailValid(email)) {
signupInputLayoutEmail.setErrorEnabled(true);
signupInputLayoutEmail.setError(getString(R.string.err_msg_email));
signupInputEmail.setError(getString(R.string.err_msg_required));
requestFocus(signupInputEmail);
return false;
}
signupInputLayoutEmail.setErrorEnabled(false);
return true;
}
private boolean checkPassword() {
String password = signupInputPassword.getText().toString().trim();
if (password.isEmpty() || !isPasswordValid(password)) {
signupInputLayoutPassword.setError(getString(R.string.err_msg_password));
signupInputPassword.setError(getString(R.string.err_msg_required));
requestFocus(signupInputPassword);
return false;
}
signupInputLayoutPassword.setErrorEnabled(false);
return true;
}
private static boolean isEmailValid(String email) {
return !TextUtils.isEmpty(email) &&
android.util.Patterns.EMAIL_ADDRESS.matcher(email).matches();
}
private static boolean isPasswordValid(String password){
return (password.length() >= 6);
இங்கு ceateUserWithEmailAndPassword(email, password) methodஎனும் வழிமுறையுடன்மின்னஞ்சல், கடவுச்சொற்களின் தருக்கங்களுடன் பயனாளர் வழங்கிடும் சரியான உள்ளீடுகளை பெறுவதன் வாயிலாக submit Form() method எனும் வழிமுறையானது செயல்படுத்திடப்-படுகின்றது on Complete()எனும் குறிமுறைவரியை செயல்படுத்தி கோரிக்கை முடிந்தவுடன் ஃபயர்பேஸானது உள்பகுதியில் ஒரு வலைபின்னல் கோரிக்கையை செயல்படுத்திடு-கின்றது உள்நுழைவின் போது பிழைஏதும் உருவானால் Log Catஇற்கு விதிவிலக்கின் வாயிலாக உள்நுழைவுசெய்திடலாம் புதிய பயனாளரை வெற்றிகரமாக உருவாக்கி முடித்துவிட்டால்User Activity என்பதை அழைத்து அதில் பயனாளர் விவரங்களை காண்பிக்கசெய்திடலாம் படத்திலுள்ளவாறு பயனாளர் ஃபயர் பேஸின் முகப்பு திரைக்கு உள்நுழைவு செய்திடமுடியும்

ஏற்கனவே பதிவுசெய்திருந்த பயனாளருக்கான உள்நுழைவுசெய்வதற்காக Login Activity.java என்பதை உருவாக்கிடவேண்டும்
முதலில் புதியவளங்களின் activity_login.xmlஎனும் வடிவமைப்பு உருவாக்குவதற்காக பின்வரும் குறிமுறைவரிகளை உள்ளீடுசெய்து கொள்க இந்த வடிவமைப்பானது ஏறத்தாழ activity_signup.xml என்பதை போன்றதே ஆயினும் இங்குசுட்டியையும் உரைக்கான பொத்தான்களையும் மட்டும் மேம்படுத்திடவேண்டும் என்ற செய்தியை மனதில்கொள்க
activity_login.xml

தொடரும்

ஃபயர்பேஸ்-தொடர்-14-ஆண்ட்ராய்டு ஃபயர்பேஸ் பயன்பாட்டினை உருவாக்குதல்

ஃபயர் பேஸில்ஆண்ட்ராய்டின்உள்நுழைவு செயலியை பயன்படுத்திடும் ஒரு ஆண்ட்ராய்டு ஃபயர்பேஸ் பயன்பாட்டினை இன்று உருவாக்கவிருக்கின்றோம். ஃபயர் பேஸ் பயனாளரின் அறிந்தேற்பினை செயல்படுத்துதல் ஆண்ட்ராய்டுடன் ஃபயர் பேஸினை ஒருங்கிணைந்து இயக்குவது என்பன போன்ற பல்வேறு பயன்களுடன் இந்த பயன்பாடு மிகப்பயனுள்ளதாக இருக்கின்றது
ஃபயர் பேஸ் அடிப்படையிலான அறிந்தேற்பினை சேர்த்தலிற்காக firebase.google.comஎனும் இணைய தள பக்கத்திற்கு செல்க அங்கு நமக்கென தனியாக கணக்கு ஒன்றினை உருவாக்கிடுக தொடர்ந்து ஃபயர்பேஸின் முகப்பு திரைக்கு செல்க அதில் Create New Project எனும் பொத்தானை தெரிவுசெய்து சொடுக்குக அதனை தொடர்ந்து விரியும் திரையில் இந்த செயல்திட்டத்திற்கு ஒரு பெயரினை யும் நம்முடைய நாட்டின் பெயரினையும் உள்ளீடு செய்து கொண்டு Create Project எனும் பொத்தானை தெரிவுசெய்து சொடுக்குக உடன் தோன்றிடும் திரையில் Add Firebase to your Android appஎனும் வாய்ப்பினை தெரிவுசெய்து சொடுக்குக அதனைதொடர்ந்து இந்த செயல்திட்ட தொகுப்பின் விளக்கங்களையும் உள்நுழைவு சான்றிதழிற்கானSHA-1எனும் திறவுகோளையும் சேர்த்திடுக

1
இது இயக்கநேர இணைப்புகள் ,அழைப்புகள் ,கூகுளின் உள்நுழைவு ஆகியவற்றுகளுக்கானதாகும் தேவையென விரும்பினால் இந்தSHA-1 ஐ சேர்த்திடுக இது கூகுள் சேவைகளுக்கான google-services.jsonஎனும் கோப்பினை பதிவிறக்கம் செய்து கொள்கின்றது இதனை நாம் பின்னர் இணைத்து கொள்வோம்
அடுத்து விரியும் செயல்திட்டமுகப்பு திரையில் Auth Menu எனும் பட்டியலை தெரிவுசெய்து சொடுக்குக அதன்பின்னர் SIGN-IN METHOD என்பதிலுள்ள Email/Passwordஎன்பதை தெரிவுசெய்து சொடுக்குதல் செய்து அதனை இயலுமை செய்து கொள்க இவ்வாறான அடிப்படைகளை செய்தபின்னர்தற்போதுதான் ஃபயர்பேஸினுடைய பயனாளரின் அறிந்தேற்பிற்கான ஆண்ட்ராய்டு பயன்பாட்டினை உருவாக்க விருக்கின்றோம் அதற்கு தேவையானவைகள்
1.Android Studio 1.5 அல்லது அதற்கு மேம்பட்ட பதிப்பு நிறுவுகை செய்யப்பட்ட கணினி ,
மேலும் ஆண்ட்ராய்டு SDK மேலாளர் வாயிலாக சமீபத்திய Google Play services SDK ஐ பதிவிறக்கம் செய்து கொள்க
2. நேரடியாக ஆண்ட்ராய்டு செயல்படும் சாதனமான ஆண்ட்ராய்டு ஸ்டுடியோ கட்டமைக்கப்பட்டுள்ள திறன்பேசி அல்லது மடிக்கணினி இந்த சாதனத்தில் ஆண்ட்ராய்டு 2.3 அல்லது அதற்குமேம்பட்டபதி்ப்பு செயல்படுவதாக இருக்குமாறு பார்த்து கொள்க
3.அவ்வாறே Google Play services 9.2.0 அல்லது அதற்குமேம்பட்ட பதிப்புசெயல்படுவதாக இருக்கவேண்டும்
இவையனைத்தும் தயாராக இருப்பதை உறுதி செய்து கொண்டபின்னர் File => New => New Project=> என்றவாறு கட்டளைகளை செயல்படுத்தி நம்முடைய பயன்பாட்டிற்கு ஒரு பெயரினை உள்ளீடூ செய்துகொள்க .அடுத்து நம்முடைய நிறுவனத்தின் உலகளாவிய ஒருங்கிணைந்த பெயரை உள்ளீடுசெய்திடுக (குறிப்பு.ஃபயர் பேஸிலும் இதே கட்டுகளின் பெயரைத்தான் வைக்கவிருக்கின்றோம் எனும் செய்தியை மனதில் கொள்க ) தொடர்ந்து இந்த செயல்திட்டத்தின் இடஅமைவையும் குறைந்தபட்ச SDKவையும் தெரிவுசெய்து கொள்க . அடுத்து தோன்றிடும் திரையில் நம்முடைய குறிமுறைவரிகளை இதில் சேர்ப்பதற்காக Empty Activity என்பதை தெரிவுசெய்து கொண்டு Nextஎனும் பொத்தானை தெரிவுசெய்து சொடுக்குக
பின்னர்Generate Layout Fileஎனும் தேர்வுசெய்பெட்டி தெரிவுசெய்திருப்பதை உறுதி செய்து கொண்டு (புதிய பயனாளர் ஒருவர் முதன்முதல் இந்த பயன்பாட்டினை திறந்தவுடன் இயல்புநிலையில் இந்த Signup Activity எனும் செயலியின் பெயர் பயன்படுத்திகொள்வதற்கு தயாராக இருப்பதற்காக ) நம்முடைய செயலியின் பெயரை தெரிவுசெய்து கொண்டு Finishஎனும் பொத்தானை தெரிவுசெய்து சொடுக்குக அதனை தொடர்ந்து நம்முடைய செயல் திட்டத்தில் Gradle syncs ஆனபிறகு google-services.json எனும் கோப்பினை நம்முடைய பயன்பாட்டு செயல்திட்ட கோப்பகமாக படத்திலுள்ளவாறு சேர்த்து கொள்க

2

பின்னர் AndroidManifest.xml என்பதில் இணைய இணைப்புடன் இணைய அனுமதியை சேர்த்திட வேண்டும் அதற்காக

எனும் குறிமுறைவரிகளை சேர்த்திடுக .தொடர்ந்து நம்முடைய செயல்திட்டத்தின்முகப்பு கோப்பகத்திலிருந்து build.gradleஎன்பதை திறந்து பின்வரும் சார்பிற்கான(dependency) குறிமுறைவரிகளை சேர்த்திடுக
classpath ‘com.google.gms:google-services:3.0.0’
அடுத்துbuild.gradleஎனும் நம்முடைய பயன்பாட்டினை திறந்து பின்வரும் குறிமுறைவரிகளை சேர்த்திடுக
apply plugin: ‘com.google.gms.google-services
மேலும்dependency எனும் பகுதியில் பின்வரும்குறிமுறைவரிகளை சேர்த்திடுக
compile ‘com.google.android.gms:play-services:9.2.0’
தொடர்ந்து activity_signup.xmlஎன்பதை திறந்து பின்வரும் குறிமுறைவரிகளை உள்ளீடுசெய்து கொள்க குறிப்பு.மின்னஞ்சல் , கடவுச்சொற்கள் ஆகிய இரண்டிற்கான உள்ளீட்டு உரைபதிப்பு பெட்டிகளையும் submit எனும் ஒரு பொத்தானையும் நாம் வைத்துள்ளோம் பயனாளர் ஏற்கனவே கணக்கு வைத்திருந்தால் திரையில் உள்நுழைவுசெய்வதற்கான மற்றொரு பொத்தானும் நம்மிடம் உள்ளது என்ற செய்தியை கவணத்தில் கொள்க

இதனைதொடர்ந்து ஃபயர்பேஸினுடைய ஒரு பயனாளரின் உள்ளீட்டினை சரிபார்ப்பதற்கான வசதியை உருவாக்கி பயனாளரின் உள்ளீட்டினை சரிபார்த்திடுவதற்கான தருக்கத்தினை சேர்த்திடவேண்டும் மேலும்புதிய பயனாளரிடமிருந்து மின்னஞ்சலையும் கடவுச்சொற்களையும் உள்ளீடாக பெறுவதற்காக createUserWithEmailAndPassword() எனும் Firebase create userவழிமுறையை பயன்படுத்திகொள்க முதலில் FirebaseAuthஎனும் பொருளை பெறுவதற்காக getInstance()எனும் வழிமுறைய பயன்படுத்தி கொள்க அதன்பின்னர் புதிய பயனாளருக்காக createUserWithEmailAndPassword() என்பதை பயன்படுத்தி கொள்ளமுடியும் தொடர்ந்து SignupActivity.java என்பதை திறந்து onCreate() methodஎனும் வழிமுறையில் பின்வரும் குறிமுறைவரிகளை சேர்த்திடுக
SignupActivity.java
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_signup);
auth = FirebaseAuth.getInstance();
signupInputLayoutEmail = (TextInputLayout) findViewById(R.id.signup_input_layout_email);
signupInputLayoutPassword = (TextInputLayout) findViewById(R.id.signup_input_layout_password);
progressBar = (ProgressBar) findViewById(R.id.progressBar);
signupInputEmail = (EditText) findViewById(R.id.signup_input_email);
signupInputPassword = (EditText) findViewById(R.id.signup_input_password);
btnSignUp = (Button) findViewById(R.id.btn_signup);
btnLinkToLogIn = (Button) findViewById(R.id.btn_link_login);
btnSignUp.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
submitForm();
}
});
btnLinkToLogIn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(SignupActivity.this, LoginActivity.class);
startActivity(intent);
}
});
இங்கு நாம் வடிவமைப்பில் EditText , Buttonsஆகியவைகளை மேற்கோளாக செய்துகொண்டுள்ளோம் அதன்பின்னர் SignUpஎனும் பொத்தானிற்காகவும் உள்நுழைவு (Login)செயலின் இணைப்பிற்காகவும் OnClickListener() எனும் செயலியை சேர்த்திடுக பின்னர் LoginActivityஎனும் செயலிற்கான உள்நுழைவு இணைப்பு வழங்குவதற்கான SignUp submitForm()எனும் வழிமுறையை விரைவில் காணவிருக்-கின்றோம்

ஃபயர்பேஸ்-தொடர்-13- ஃபயர்பேஸின் தொலைநிலை கட்டமைவு(Remote Config)-தொடர்ச்சி

முதன்மையான ஒரு FirebaseRemoteConfig என்பதை உருவாக்குவதற்காக
private FirebaseRemoteConfig mFirebaseRemoteConfig = FirebaseRemoteConfig.getInstance();
என்றவாறுகட்டளை வரியுடன் In MainActivity.javaஎனும் கோப்பினை துவங்குக.தொடர்ந்து Firebase Remote Configஎன்பதை இயல்புநிலையில் தொகுப்பதற்கு HashMap என்பதை உருவாக்குக. மேலும் Firebase Remote Configஎனும் மாதிரியில் புதிய மதிப்பினை எடுத்திடும் வரை பயன்பாடு தொங்கலாக நின்றுவிடாமல் தொடர்ந்து செயல்படுவதற்காக அவ்வாறான இயல்புநிலை Mapஇன் மதிப்பில் நடப்பு பதிப்பின் குறிமுறைவரிகளை வைத்திடுக அதற்கான குறிமுறைவரிகளில் உள்ள VERSION_CODE_KEY என்பது Firebase Remote Config முகப்புதிரையின்அதே அளவுருக்களாகும் என்ற செய்தியை மனதில் கொள்க
பின்னர் இப்போதுமுதன்மையான ஒரு FirebaseRemoteConfig இற்கு இயல்புநிலை HashMap ஐ அமைத்திடுக அதன்பின்னர் developer நிலையை இயலுமை செய்வதற்கு Firebase Remote Config இன் அமைவை கட்டமைவு செய்திடவேண்டும் ஏனெனில் பயன்பாட்டினை நாம் அடிக்கடி புத்தாக்கம் செய்து கொண்டே இருப்போம் இல்லையென்றால் தற்காலிக நினைவகத்திற்கான தரவுகள் 12 மணிநேரம் கழித்தபின்னரே எடுக்கப்படும் அதனை தொடர்ந்து தரவுகளை எடுத்து அதனை onCompleteListener என்பதோடு சேர்த்து இந்த தரவுகளை எடுத்திடும் செயலை முடிவுக்கொண்டுவரவேண்டும் அதனோடு இந்த செயல் வெற்றிகரமாக முடிந்ததா இல்லையா என்றும் சரிபார்த்திடவேண்டும் அவ்வாறு தரவுகளை எடுத்திடும் செயல் முடிவுபெறவில்லை எனில் தரவுகளை எடுத்திடும் செயலியை மீண்டும் அழைக்கவேண்டும் அல்லது அவ்வாறான தரவுகளை எடுக்க-வில்லை என்ற செயலிற்கு பொருத்தமானதொரு செய்தியை காண்பிக்கமுடியும் தரவுகளை எடுக்கும் செயல் வெற்றிகரமாக முடிந்திருந்தால் activateFetch() எனும் செயலியை அழைத்து இந்த பயன்பாட்டில் அதனுடைய மதிப்பு தயாராக இருக்குமாறு செய்திடவேண்டும் இங்கு தரவுகளை எடுத்திடும் செயலியின் பணிவெற்றிகரமாக முடிவுற்றது என அடுத்த செயலிற்கு செல்வதை இது அனுமதித்திடுகின்றது இங்கு getString(), getBoolean(), getByteArray(), getDouble(), getLong()என்பன போன்ற செயலிகளைகூட நமக்கு தேவையானவாறு அமைத்து கொள்ளமுடியும் அதன்பிறகு சேவையாளர் கணினியில் பயன்பாட்டின் மதிப்பு நடப்பு செயலின் பதிப்பைவிட கூடுதலானதா இல்லையா என சரிபார்த்திடுவதற்காக அந்த செயலியை அழைத்திடவேண்டும்
அதனை தொடர்ந்து checkForUpdate()எனும் செயலிக்குள் நாம் நடப்பு மதிப்பினை ஃபயர் பேஸ் முகப்புதிரையில் எடுத்திருந்த மதிப்புடன் ஒப்பிட்டுபார்த்திடவேண்டும் அவ்வாறு ஒப்பிடும்போது ஃபயர் பேஸ் முகப்புதிரையில் எடுத்திருந்ததைவிட இந்த மதிப்பு பெரியதாக இருந்தால் புதிய பதிப்பு தயாராக இருக்கின்றது என அறிந்து கொண்டு உடன் குறிப்பிட்ட பயன்பாட்டினை நிகழ்நிலை படுத்தி மேம்படுத்தி கொள்க எனும் ஒரு எச்சரிக்கை செய்தியை காண்பிக்கவேண்டும்
இவ்வாறான செயல்கள் அனைத்தும் செய்து முடிப்பதற்கான MainActivity.java எனும் கோப்பின் முழுவதுமான குறிமுறைவரிகள் பின்வருமாறு ஆயினும் இதனுடையxml கோப்பில் மாறுதல் எதுவும் செய்யவில்லை என்ற செய்தியைமட்டும் மனதில் கொள்க
android.content.DialogInterface.OnClickListener;
import android.content.pm.PackageManager.NameNotFoundException;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.widget.Toast;
import com.google.android.gms.tasks.OnCompleteListener;
import com.google.android.gms.tasks.Task;
import com.google.firebase.remoteconfig.FirebaseRemoteConfig;
import com.google.firebase.remoteconfig.FirebaseRemoteConfigSettings;
import java.util.HashMap;
public class MainActivity extends AppCompatActivity {
private FirebaseRemoteConfig mFirebaseRemoteConfig = FirebaseRemoteConfig.getInstance();
private HashMap firebaseDefaultMap;
public static final String VERSION_CODE_KEY = “latest_app_version”;
private static final String TAG = “MainActivity”;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// இது இயல்புநிலை Mapஆகும்
firebaseDefaultMap = new HashMap();
//இயல்புநிலை Mapஇன்மதிப்பினை நடப்பு பதிப்பின் குறிமுறைவரிகளால் அமைத்திடுதல்
firebaseDefaultMap.put(VERSION_CODE_KEY, getCurrentVersionCode());
//அந்தஇயல்புநிலை Mapஇன்மதிப்பினை Firebase Remote Config இக்கு அமைத்திடுln
mFirebaseRemoteConfig.setDefaults(firebaseDefaultMap);
//விரைவாக மதிப்புகளை மீளப்பெறுவதற்குDeveloperநிலையை இயலுமை செய்திடுமாறுஅமைத்திடுதல்
mFirebaseRemoteConfig.setConfigSettings(
newFirebaseRemoteConfigSettings.Builder().setDeveloperModeEnabled(BuildConfig.DEBUG) .build());
// இங்கு மதிப்புகளை எடுத்திடுதல்
mFirebaseRemoteConfig.fetch().addOnCompleteListener(new OnCompleteListener() {
@Override
public void onComplete(@NonNull Task task) {
if (task.isSuccessful()) {
mFirebaseRemoteConfig.activateFetched();
Log.d(TAG, “Fetched value: ” + mFirebaseRemoteConfig.getString(VERSION_CODE_KEY));
//புதியபதிப்பு தயாராகஉள்ளதா இல்லையாவென சரிபார்ப்பதற்குசெயலியை அழைத்திடுதல்
checkForUpdate();
}else
Toast.makeText(MainActivity.this,”Someting went wrong please try again”,Toast.LENGTH_SHORT).show(); }
});
Log.d(TAG, “Default value: ” + mFirebaseRemoteConfig.getString(VERSION_CODE_KEY));
}
private void checkForUpdate() {
int latestAppVersion = (int) mFirebaseRemoteConfig.getDouble(VERSION_CODE_KEY);
if (latestAppVersion > getCurrentVersionCode()) {
new AlertDialog.Builder(this).setTitle(“Please Update the App”)
.setMessage(“A new version of this app is available. Please update it”).setPositiveButton( “OK”, new
OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast
..makeText(MainActivity.this, “Take user to Google Play Store”, Toast.LENGTH_SHORT) .show();
}
}).setCancelable(false).show();
} else {
Toast.makeText(this,”This app is already upto date”, Toast.LENGTH_SHORT).show();
}
}
private int getCurrentVersionCode() {
try {
return getPackageManager().getPackageInfo(getPackageName(), 0).versionCode; }
catch (NameNotFoundException e) {
e.printStackTrace();
}
return -1;
}
}
தற்போது இந்த பயன்பாட்டினை இயக்குக உடன் பயன்பாட்டின் நடப்பு குறிமுறை வரிகளின் பதிப்பினை தானாகவே Firebase Remote Config இலிருந்து எடுத்த மதிப்பிற்கு சமமாக உள்ளதா என சரிபார்த்திடவேண்டும் ஆம் எனில் நம்முடைய பயன்பாடு ஏற்கனவே நிகழ்நிலை படுத்தப்பட்டுவிட்டது என்ற சிறிய செய்தியை காண்பிக்கவேண்டும் சமமாக இல்லை-யெனில் பயனாளர் உடனடியாக நிகழ்நிலைபடுத்தி மேம்படுத்தி கொள்க என்ற மேல்மீட்பு செய்தியை காண்பிக்கவேண்டும் மேலும் Firebase Remote Config என்பதில் சமீபத்திய குறிமுறைவரிகளுடன் நிகழ்நிலைபடுத்தி மேம்படுத்தி கொள்க இதனுடைய சமீபத்திய குறிமுறைவரிகளை https://github.com/waqasyounis334/FirebaseRemoteConfigTutorials எனும் இணைய முகவரியிலிருந்து பதிவிறக்கம் செய்து கொள்க
இந்த Firebase Remote Configமுகப்புதிரையில் ஒன்றுக்குமேற்பட்ட பயன்பாடுகளை அதே அளவுருக்களின் மதிப்பினை எடுத்திட பயன்படுத்திடும்போது பிரச்சினை எழும் அதனை தவிர்த்திட பல்வேறு நிபந்தனைகளை பூர்த்தி செய்திடுமாறு குறிப்பிட்ட பயன்பாட்டின் பெயருக்கு அமைத்திடலாம் தொடர்ந்து Add Condition எனும் பொத்தானை சொடுக்குதல் செய்து App: பயன்பாட்டின் பெயர் , Version: பதிப்பு எண் , OS Type: இயக்கமுறை வகை, Device Language: சாதனங்களில் நாம் பயன்படுத்திடும் மொழி , Country/Region:நம்முடைய நாடு அல்லது பகுதி போன்ற விவரங்களை தேவையானவாறு அமைத்திடுக இதில்2000 அளவுருக்களையும் 100 நிபந்தனைகள் வரையிலும் அமைத்துகொள்ளமுடியும் அளவுருக்களில் 256 எழுத்துகள்வரை அமைத்திடலாம் ஆயினும் நம்முடைய
செயல்திட்டத்தின் மொத்த எழுத்துகள் 5,00,000 இற்குமேல் மிகாமல் பார்த்து கொள்க.

எச்சரிக்கை 1.பயனாளரின் அங்கீகரிப்பு தேவைப்படும் பயன்பாட்டு புதுப்பிப்புகளை உருவாக்க தொலைநிலை கட்டமைப்பைப் பயன்படுத்த வேண்டாம்.
2.தொலைநிலை கட்டமைப்பு அளவுருக்களின் திறவுகோள்களில் அல்லது அளவுருக்களின் மதிப்புகளில் இரகசிய தரவுகளை சேமிக்கவேண்டாம்.
3.தொலைநிலை கட்டமைப்பு பயன்படுத்தி உங்கள் பயன்பாட்டின் இலக்கு தளத்தின் தேவைகளை மீற முயற்சிக்க வேண்டாம்.

Previous Older Entries