An Android Xamarin Chat client for the ServiceStack chat demo application server.
C#
Switch branches/tags
Nothing to show
Clone or download

README.md

Android Xamarin Chat

An Android (Xamarin) Chat client for the ServiceStack Chat application!

Overview

Android (Xamarin) Chat shows integration with ServiceStack server from a Xamarin application utilizing the following ServiceStack features.

  • ServiceStack Authentication Providers (Twitter)
    • Using Xamarin.Auth to provide a more native experience
    • Xamarin.Auth generic wrapper for ServiceStack auth providers
    • Storing ServiceStack account details using Xamarin AccountStore.
  • Server Side Events feature (Chat messages and commands)
    • Command receivers
      • Announce reciever using Android notifications
      • CSS receiver intepreting messages to change background image and colors
      • Play youtube receiver to natively hand off to Android devices registered application
    • New sseClient.SubscribeToChannels to dynamically listen to new channels without restarting the connection. (4.0.53+)
    • Custom IResolver
    • Getting active event subscribers
  • Add ServiceStack Reference (Chat DTOs)

Authentication using Xamarin.Auth

Xamarin.Auth is a component you can use when developing Xamarin clients that authenticate with common OAuth proviers like Twitter, Facebook, etc. This component can also be used with ServiceStack OAuth providers by creating a wrapper for the WebAuthenticator.

var ssAuth = new ServiceStackAuthenticator(
    MainActivity.BaseUrl,
    "twitter", jsonServiceClient =>
    {
        var userDetails = jsonServiceClient.Get(new GetUserDetails());
        return new Account(userDetails.UserName, jsonServiceClient.CookieContainer);
    });

More info about this wrapper at the TechStacksAuth repository

Command receivers