.NET

Ad Manager API-এর সাথে ইন্টার‍্যাক্ট করার জন্য Google একটি .NET ক্লায়েন্ট লাইব্রেরি প্রদান করে। আমরা NuGet-এর সাথে ক্লায়েন্ট লাইব্রেরি ব্যবহার করার সাজেশন দিই।

শুরু করতে, আপনার পছন্দের IDE-তে একটি নতুন প্রোজেক্ট তৈরি করুন অথবা আগে থেকে থাকা প্রোজেক্টে ডিপেন্ডেন্সি যোগ করুন। Google, NuGet রিপোজিটরিতে Google.Ads.AdManager.V1 হিসেবে ক্লায়েন্ট লাইব্রেরি আর্টিফ্যাক্ট প্রকাশ করে।

প্যাকেজ রেফারেন্স

<!-- MyProject.csproj -->
<PackageReference Include="Google.Ads.AdManager.V1" Version="1.0.0-beta13" />

.NET CLI

dotnet add package Google.Ads.AdManager.V1 --version 1.0.0-beta13

ক্রেডেনশিয়াল কনফিগার করুন

.NET ক্লায়েন্ট লাইব্রেরি যাচাইকরণের জন্য OAuth2 এবং অ্যাপ্লিকেশন ডিফল্ট ক্রেডেনশিয়াল (ADC) ব্যবহার করে।

ADC নিম্নলিখিত লোকেশনে এই ক্রমে ক্রেডেনশিয়াল খোঁজে:

  1. GOOGLE_APPLICATION_CREDENTIALS এনভায়রনমেন্ট ভেরিয়েবল।
  2. Google Cloud CLI (gcloud CLI)-এর মাধ্যমে ব্যবহারকারীর ক্রেডেনশিয়াল সেট-আপ করা হয়েছে।
  3. Google Cloud-এ রান করার সময়, Google Cloud রিসোর্সের সাথে অ্যাটাচ করা পরিষেবা অ্যাকাউন্ট।

আপনার ADC ক্রেডেনশিয়াল তৈরি ও কনফিগার করার জন্য, যাচাইকরণ দেখুন।

আপনার প্রথম অনুরোধ করুন

প্রতিটি পরিষেবায় একটি ServiceClient অবজেক্ট থাকে এবং প্রতিটি REST পদ্ধতির জন্য সিঙ্ক্রোনাস ও অ্যাসিঙ্ক্রোনাস পদ্ধতি থাকে। নিম্নলিখিত উদাহরণটি সিঙ্ক্রোনাসভাবে Network পড়ে। সব এন্টিটি রিসোর্সের নাম দিয়ে শনাক্ত করা হয়, যার মধ্যে এন্টিটির ধরন ও সংখ্যাসূচক শনাক্তকারী থাকে।

    using Google.Ads.AdManager.V1;

    public sealed partial class GeneratedNetworkServiceClientSnippets
    {
        public void GetNetwork()
        {
            // Create client
            NetworkServiceClient networkServiceClient = NetworkServiceClient.Create();
            // Initialize request argument(s)
            string name = "networks/[NETWORK_CODE]";
            // Make the request
            Network response = networkServiceClient.GetNetwork(name);
        }
    }

অন্যান্য পদ্ধতি ও রিসোর্সের উদাহরণ দেখতে, GitHub রিপোজিটরি googleapis/google-cloud-dotnet দেখুন।

সমস্যা ম্যানেজ করা

Ad Manager API-এর সব সমস্যা .NET ক্লায়েন্ট লাইব্রেরিতে Grpc.Core.RpcException ধরনের হয়।

সমস্যার মধ্যে একটি অনন্য request_id অন্তর্ভুক্ত থাকে যা আপনি সমস্যার সমাধান করার জন্য সহায়তা টিমকে প্রদান করতে পারেন। নিম্নলিখিত উদাহরণটি HTTP স্ট্যাটাস, ত্রুটি মেসেজ, এবং request_id এক্সট্র্যাক্ট করে।

using Google.Ads.AdManager.V1;
using Google.Api.Gax.Grpc;
using Google.Rpc;
using Grpc.Core;

try
{
    NetworkServiceClient networkServiceClient = NetworkServiceClient.Create();
    Network network = networkServiceClient.GetNetwork("networks/[NETWORK_CODE]");
}
catch(RpcException e)
{
    // HTTP Status code
    StatusCode statusCode = e.Status.StatusCode;
    // Error message
    string errorMessage = e.Status.Detail;
    // Unique request identifier.
    RequestInfo requestInfo = e.GetStatusDetail<RequestInfo>();
    string requestId = requestInfo?.RequestId ?? "Unexpected null request identifier";
}

রিসোর্সের নাম তৈরি করুন

আইডি থেকে রিসোর্সের নাম তৈরি করার জন্য ক্লায়েন্ট লাইব্রেরি হেল্পার ক্লাস প্রদান করে। এগুলি সরাসরি পরিষেবা পদ্ধতিতে পাস করা যেতে পারে।

//  Represents a resource name in the format:
//  "networks/{networkCode}/orders/{orderId}"
OrderName name = OrderName.FromNetworkCodeOrder("123", "456");
Order response = orderServiceClient.GetOrder(name);

প্রক্সি সেটিংস কনফিগার করুন

.NET ক্লায়েন্ট লাইব্রেরি HttpClient.DefaultProxy প্রপার্টি মেনে চলে, যার মধ্যে এনভায়রনমেন্ট ভেরিয়েবল HTTP_PROXY ও HTTPS_PROXY থেকে প্রক্সি সেট করাও অন্তর্ভুক্ত। আরও জানতে, HttpClient.DefaultProxy প্রপার্টি দেখুন।