Unity3D and Microsoft Azure API App to serve json data - c#

I'm trying to determine whether it is possible to create an Api app on Azure that can be consumed via HTTP requests on mobile devices with no Azure developed SDK on the client side.(No Unity SDK available and I do not want to use a third party plugin)
I want to communicate with the API, (authenticate, pull resources, etc) with standard http messages over the www class in unity.
Before I invest a few days in this does anyone know if this is even possible?
Thanks!

It is possible with WWW or HttpWebRequest. Before you do this, try the plugin Azure here. If it's not what you want, then you can make yours from scratch.

Related

Firebase Cloud Messaging with Google client library

I'm currently trying to migrate an existing server-side application which uses Firebase Cloud Messaging. To my understanding, this NuGet package is suitable for that; I have successfully referenced it in the existing C# project.
However, the documentation available here is indeed a very documented, but does not give a step-by-step example on how to initiate a call. How can I formulate a call to the API? I have done so in the past successuflly with a customized HTTP request, but don't understand how to do this with the API.
Has anyone successully used this API before and could give some insights? Although I use C#, any experience already made with a different language will be appreciated.

Send In App Message to Android by C# .NET using Firebase In App Messaging

I just want to ask is there any possibility right now to Send Firebase In App Message without using Firebase Console? I want to send In App Message (FIAM) to Android App from .NET C# MVC Web Application. I managed to send Push Notification(FCM) succesfully but what about In App Messaging? Is there any API available for that?
There currently is no API to configure the messages delivered/displayed by Firebase In-app Messaging. If this is a use-case you'd like to see added, I recommend you file a feature request.
The closest work-around at the moment would be to use Firebase Remote Config (which does have an API for setting configuration data) to deliver some value to your clients, and then have your clients display the message on those conditions. This is somewhat similar to what Firebase's In-app Messaging does behind the scenes, although (as far as I know) it uses its own infrastructure to deliver the configuration data.

Build JSON REST api/webservices in vs2010 or vs2012 that will consumed by ajax clients in mobile devices

I have an Existing Web application builded two years ago with VS2010 ASP.NET Web Forms, C# and SQL SERVER 2008 .Now i want to build mobile version and install it in mobile devices. I want to develop it using JQuery Ajax, Jquery Mobile and Apache Cordova. My simple question is how can build serialize from database json REST api/webservices in vs2010 or vs2012 that will consumed by ajax clients in mobile devices ???
Thanks to all
I would recommend you for WebAPI. because of following reasons.
If we need a Web Service and don’t need SOAP, then ASP.Net Web API is best choice.
It is Used to build simple, non-SOAP-based HTTP Services on top of existing WCF message pipeline.
It doesn't have tedious and extensive configuration like WCF REST service.
Simple service creation with Web API. With WCF REST Services, service creation is difficult.
It is only based on HTTP and easy to define, expose and consume in a REST-ful way.
It is light weight architecture and good for devices which have limited bandwidth like smart phones.
It is open source.
Tutorial is here.
http://channel9.msdn.com/Events/Build/2014/3-603
Save yourself a lot of coding, and use SlashDB. http://www.slashdb.com/how-it-works/
It will automatically make a web API for an existing database. Your case is very typical because many websites use server-side templates to make dynamic HTML, which of course does not work well if you need a native app or a highly responsive HTML5 mobile page.
Disclosure: I am the founder and CEO of the company behind SlashDB, but you don't have to take my word it - just try it.

Correct approach to authenticated youtube data api (v3) requests from mobile devices (initially Android)

Scope: I am developing a mobile application using Xamarin (C#) to target both Android and iPhone (initially Android). The application logic is separated out in to a PCL (C#) where possible to ensure maximum code reuse. The application integrates with the YouTube Data API v3 for the purpose of rating retrieved videos and allowing subscription to a channel.
Background: As per the documentation (http://developer.android.com/google/play-services/auth.html) I have used the suggested approach to generate an OAuth2 token for the authorised requests from Android, using the AccountManager.getToken method and this works fine and returns a token.
The next step is to make requests using this token (let's take rating a video as an example). My initial idea was to utilise the .NET client library for the YouTube Data Api (https://developers.google.com/api-client-library/dotnet/get_started). However, it seems that this would take us through the whole authorisation process once again and would likely require a web view redirect or similar. I had hoped that there may be a way to use a token which had already been retrieved to create the credential object or create the service from directly, but it doesn't appear to be the case.
The second problem I have found with the client library is that not all of the classes appear to be referenced when adding the NuGet package, namely the GoogleWebAuthorizationBroker. Additionally, as we are in a PCL we are limited with common objects such as FileStream which is utilised in the documented examples (https://developers.google.com/api-client-library/dotnet/guide/aaa_oauth). I did try to use this library from a non-PCL project also to confirm that it wasn't just the limited references in the PCL which were responsible (for the GoogleWebAuthorizationBroker reference issue).
The other option therefore was to look at manual construction of the URL and then posting the data to make the HTTP request ourselves. This too has met with limited success similar to the question listed here: Like video with access token on YouTube using YouTube Data API v3?, which doesn't appear to be answered (suggestion to use the client api). Is this method supported, and if so are there some documented .NET examples? This method would allow me so get the token natively (on android, iphone) and then pass it to a PCL library where I could make the requests, which would be preferable.
Question: So my question is given the scope of what I am trying to achieve here what would be the approved/suggested approach. Clearly the more I can do within the PCL the better from a code reuse point of view, but right now I'd be fairly satisfied with an approach that will actually just work for Android. If anyone has any examples of successfully making authenticated requests to the YouTube Data Api (v3) from Android that would also be useful. I feel like I've trawled through a lot of the documentation to this point over a number of days but not found anything definitive to say "this is how you should do it".
Thanks in advance for any help.
Well, I wouldn't necessarily deem this the answer to my question, however, it is the approach I have taken, so thought I would report back. I have kept the OAuth2 token generation code inside the Xamarin Android project and then pass that on to a PCL which has a repository to deal with the YouTube integration. As there are only a few calls I need to make (ratings, subscriptions and comments) I have elected to manually construct the POSTs via HttpClient and proceed that way.
Perhaps not as elegant as the client library integration but gets the job done. For reference this is made a lot easier if you use the Google OAuth Playground (https://developers.google.com/oauthplayground/) first to get the token and confirm the correct JSON for your request.
If anyone has any problems with this approach then let me know and I can post specific service calls as an example.
From what I can gather, this isn't what google-api-dotnet-client is for.
If you look at the source code (https://github.com/google/google-api-dotnet-client), you can see that GoogleWebAuthorizationBroker is defined for Windows Store, WP 8 etc.
This suggests that the library is intended for .NET clients running on Microsoft operating systems, rather than Android, iOS etc.
These might be the droids you are looking for:
https://github.com/xamarin/GooglePlayServicesComponents (Android)
https://github.com/xamarin/GoogleApisForiOSComponents
They are Xamarin wrappers around the Google SDK for each platform.
This makes sense because of the way Google APIs are called on Android. Rather than rely on a client secret which one should not embed in the application, the you register the app's signature against the "installed app" client ID. The operating system then provides this key when calling google services. You won't get that functionality in a PCL :)

Using access token - calling the youTube data API C#

It's unclear to me how I can do an API request to retrieve data for the YouTube API.
I used this code (http://zavitax.wordpress.com/2012/12/17/logging-in-with-google-service-account-in-c-jwt/) to get an access token. The next step is: https://developers.google.com/youtube/v3/guides/authentication?hl=en#OAuth2_Calling_a_Google_API. I don't know how to use www.googleapis.com/youtube/v3/video?access_token=ACCESS_TOKEN in my application to retrieve data. How can I use my access token to request data from the API?
The recommendation is to use the Google APIs Client Library for .NET. As the webpage for the client library states, it's still undergoing active development and isn't as far along as the client libraries for some of the other languages. It still should be usable, though.
There are specific generated classes to use with the YouTube Analytics API and the YouTube Data API v3. You'll need to download those
Our C# sample code is unfortunately scarce, but there is one example of doing a video search. Hopefully that is enough to get you started.
To do anything with the Analytics API, and any write operations with the Data API, you'll need to be authenticated with OAuth 2. There's an explanation of how to do that in the client library docs.
The client library is maintained by a team within Google, but it's not the YouTube API team, so the best way to follow up with the maintainers with any issues you find is to use the public issue tracker.

Categories

Resources